source: josm/trunk/src/org/openstreetmap/josm/actions/downloadtasks/AbstractDownloadTask.java@ 6069

Last change on this file since 6069 was 6069, checked in by stoecker, 11 years ago

see #8853 remove tabs, trailing spaces, windows line ends, strange characters

  • Property svn:eol-style set to native
File size: 2.3 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.actions.downloadtasks;
3
4import java.util.ArrayList;
5import java.util.List;
6import org.openstreetmap.josm.io.XmlWriter;
7
8/**
9 * Common abstract implementation of other download tasks
10 * @since 2322
11 */
12public abstract class AbstractDownloadTask implements DownloadTask {
13 private List<Object> errorMessages;
14 private boolean canceled = false;
15 private boolean failed = false;
16
17 public AbstractDownloadTask() {
18 errorMessages = new ArrayList<Object>();
19 }
20
21 public boolean isCanceled() {
22 return canceled;
23 }
24
25 public void setCanceled(boolean canceled) {
26 this.canceled = canceled;
27 }
28
29 public boolean isFailed() {
30 return failed;
31 }
32
33 public void setFailed(boolean failed) {
34 this.failed = failed;
35 }
36
37 protected void rememberErrorMessage(String message) {
38 errorMessages.add(message);
39 }
40
41 protected void rememberException(Exception exception) {
42 errorMessages.add(exception);
43 }
44
45 @Override
46 public List<Object> getErrorObjects() {
47 return errorMessages;
48 }
49
50 @Override
51 public String acceptsDocumentationSummary() {
52 StringBuilder buf = new StringBuilder("<tr><td>");
53 buf.append(getTitle());
54 buf.append(":</td><td>");
55 String patterns[] = getPatterns();
56 if (patterns.length>0) {
57 buf.append("<ul>");
58 for (String pattern: patterns) {
59 buf.append("<li>");
60 buf.append(XmlWriter.encode(pattern));
61 buf.append("</li>");
62 }
63 buf.append("</ul>");
64 }
65 buf.append("</td></tr>");
66 return buf.toString();
67 }
68
69 // Can be overridden for more complex checking logic
70 @Override
71 public boolean acceptsUrl(String url) {
72 if (url==null) return false;
73 for (String p: getPatterns()) {
74 if (url.matches(p)) {
75 return true;
76 }
77 }
78 return false;
79 }
80
81 // Default name to keep old plugins compatible
82 @Override
83 public String getTitle() {
84 return getClass().getName();
85 }
86
87 // Default pattern to keep old plugins compatible
88 @Override
89 public String[] getPatterns() {
90 return new String[]{};
91 }
92
93}
Note: See TracBrowser for help on using the repository browser.