source: josm/trunk/src/org/openstreetmap/josm/io/FileExporter.java@ 9326

Last change on this file since 9326 was 6830, checked in by Don-vip, 10 years ago

javadoc fixes for jdk8 compatibility

  • Property svn:eol-style set to native
File size: 2.5 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.io;
3
4import static org.openstreetmap.josm.tools.I18n.tr;
5
6import java.io.File;
7import java.io.IOException;
8
9import org.openstreetmap.josm.actions.ExtensionFileFilter;
10import org.openstreetmap.josm.gui.MapView.LayerChangeListener;
11import org.openstreetmap.josm.gui.layer.Layer;
12
13public abstract class FileExporter implements LayerChangeListener {
14
15 public final ExtensionFileFilter filter;
16
17 private boolean enabled;
18 private boolean canceled;
19
20 /**
21 * Constructs a new {@code FileExporter}.
22 * @param filter The extension file filter
23 */
24 public FileExporter(ExtensionFileFilter filter) {
25 this.filter = filter;
26 this.enabled = true;
27 }
28
29 public boolean acceptFile(File pathname, Layer layer) {
30 return filter.acceptName(pathname.getName());
31 }
32
33 public void exportData(File file, Layer layer) throws IOException {
34 throw new IOException(tr("Could not export ''{0}''.", file.getName()));
35 }
36
37 /**
38 * Returns the enabled state of this {@code FileExporter}. When enabled, it is listed and usable in "File->Save" dialogs.
39 * @return true if this {@code FileExporter} is enabled
40 * @since 5459
41 */
42 public final boolean isEnabled() {
43 return enabled;
44 }
45
46 /**
47 * Sets the enabled state of the {@code FileExporter}. When enabled, it is listed and usable in "File->Save" dialogs.
48 * @param enabled true to enable this {@code FileExporter}, false to disable it
49 * @since 5459
50 */
51 public final void setEnabled(boolean enabled) {
52 this.enabled = enabled;
53 }
54
55 @Override
56 public void activeLayerChange(Layer oldLayer, Layer newLayer) {
57 // To be overriden by subclasses if their enabled state depends of the active layer nature
58 }
59
60 @Override
61 public void layerAdded(Layer newLayer) {
62 // To be overriden by subclasses if needed
63 }
64
65 @Override
66 public void layerRemoved(Layer oldLayer) {
67 // To be overriden by subclasses if needed
68 }
69
70 /**
71 * Determines if this exporter has been canceled during export.
72 * @return true if this {@code FileExporter} has been canceled
73 * @since 6815
74 */
75 public final boolean isCanceled() {
76 return canceled;
77 }
78
79 /**
80 * Marks this exporter as canceled.
81 * @param canceled true to mark this exporter as canceled, {@code false} otherwise
82 * @since 6815
83 */
84 public final void setCanceled(boolean canceled) {
85 this.canceled = canceled;
86 }
87}
Note: See TracBrowser for help on using the repository browser.