source: josm/trunk/src/org/openstreetmap/josm/gui/layer/AbstractModifiableLayer.java@ 16553

Last change on this file since 16553 was 16553, checked in by Don-vip, 4 years ago

see #19334 - javadoc fixes + protected constructors for abstract classes

  • Property svn:eol-style set to native
File size: 2.9 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.gui.layer;
3
4import java.io.File;
5import java.io.IOException;
6
7import org.openstreetmap.josm.data.Data;
8import org.openstreetmap.josm.data.osm.Lockable;
9import org.openstreetmap.josm.gui.io.AbstractIOTask;
10import org.openstreetmap.josm.gui.io.AbstractUploadDialog;
11import org.openstreetmap.josm.gui.progress.ProgressMonitor;
12
13/**
14 * A modifiable layer.
15 * @since 7358
16 */
17public abstract class AbstractModifiableLayer extends Layer implements DownloadFromServer, UploadToServer, SaveToFile, Lockable {
18
19 /**
20 * Constructs a new {@code ModifiableLayer}.
21 * @param name Layer name
22 */
23 protected AbstractModifiableLayer(String name) {
24 super(name);
25 }
26
27 @Override
28 public boolean isDownloadable() {
29 // Override if needed
30 return false;
31 }
32
33 @Override
34 public boolean isUploadable() {
35 // Override if needed
36 return false;
37 }
38
39 @Override
40 public boolean requiresUploadToServer() {
41 // Override if needed
42 return false;
43 }
44
45 @Override
46 public boolean requiresSaveToFile() {
47 // Override if needed
48 return false;
49 }
50
51 @Override
52 public boolean isUploadDiscouraged() {
53 // Override if needed
54 return false;
55 }
56
57 /**
58 * Determines if data managed by this layer has been modified.
59 * @return true if data has been modified; false, otherwise
60 */
61 public abstract boolean isModified();
62
63 @Override
64 public void onPostSaveToFile() {
65 // Override if needed
66 }
67
68 /**
69 * Initializes the layer after a successful upload to the server.
70 */
71 @Override
72 public void onPostUploadToServer() {
73 // Override if needed
74 }
75
76 @Override
77 public AbstractIOTask createUploadTask(ProgressMonitor monitor) {
78 // Override if needed
79 return null;
80 }
81
82 @Override
83 public AbstractUploadDialog getUploadDialog() {
84 // Override if needed
85 return null;
86 }
87
88 @Override
89 public boolean isUploadInProgress() {
90 // Override if needed
91 return false;
92 }
93
94 @Override
95 public void lock() {
96 // Override if needed
97 }
98
99 @Override
100 public void unlock() {
101 // Override if needed
102 }
103
104 @Override
105 public boolean isLocked() {
106 // Override if needed
107 return false;
108 }
109
110 /**
111 * Perform the autosave action for the layer
112 *
113 * @param file The file to save to
114 * @return {@code true} if the layer was successfully saved
115 * @throws IOException If there was an IO exception from saving
116 * @since 16548
117 */
118 public boolean autosave(File file) throws IOException {
119 // Override if needed;
120 return false;
121 }
122
123 /**
124 * Get the data for the modifiable layer
125 *
126 * @return The data object
127 * @since 16548
128 */
129 public Data getData() {
130 // Override if needed;
131 return null;
132 }
133}
Note: See TracBrowser for help on using the repository browser.