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

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

see #8039, see #10456 - support read-only data layers

  • Property svn:eol-style set to native
File size: 2.2 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.gui.layer;
3
4import org.openstreetmap.josm.data.osm.ReadOnly;
5import org.openstreetmap.josm.gui.io.AbstractIOTask;
6import org.openstreetmap.josm.gui.io.AbstractUploadDialog;
7import org.openstreetmap.josm.gui.progress.ProgressMonitor;
8
9/**
10 * A modifiable layer.
11 * @since 7358
12 */
13public abstract class AbstractModifiableLayer extends Layer implements UploadToServer, SaveToFile, ReadOnly {
14
15 /**
16 * Constructs a new {@code ModifiableLayer}.
17 * @param name Layer name
18 */
19 public AbstractModifiableLayer(String name) {
20 super(name);
21 }
22
23 @Override
24 public boolean isUploadable() {
25 // Override if needed
26 return false;
27 }
28
29 @Override
30 public boolean requiresUploadToServer() {
31 // Override if needed
32 return false;
33 }
34
35 @Override
36 public boolean requiresSaveToFile() {
37 // Override if needed
38 return false;
39 }
40
41 @Override
42 public boolean isUploadDiscouraged() {
43 // Override if needed
44 return false;
45 }
46
47 /**
48 * Determines if data managed by this layer has been modified.
49 * @return true if data has been modified; false, otherwise
50 */
51 public abstract boolean isModified();
52
53 @Override
54 public void onPostSaveToFile() {
55 // Override if needed
56 }
57
58 /**
59 * Initializes the layer after a successful upload to the server.
60 */
61 @Override
62 public void onPostUploadToServer() {
63 // Override if needed
64 }
65
66 @Override
67 public AbstractIOTask createUploadTask(ProgressMonitor monitor) {
68 // Override if needed
69 return null;
70 }
71
72 @Override
73 public AbstractUploadDialog getUploadDialog() {
74 // Override if needed
75 return null;
76 }
77
78 @Override
79 public boolean isUploadInProgress() {
80 // Override if needed
81 return false;
82 }
83
84 @Override
85 public void setReadOnly() {
86 // Override if needed
87 }
88
89 @Override
90 public void unsetReadOnly() {
91 // Override if needed
92 }
93
94 @Override
95 public boolean isReadOnly() {
96 // Override if needed
97 return false;
98 }
99}
Note: See TracBrowser for help on using the repository browser.