source: josm/trunk/src/org/openstreetmap/josm/io/session/SessionLayerExporter.java@ 4685

Last change on this file since 4685 was 4685, checked in by bastiK, 12 years ago

session support (second part: "save as", see #4029)

still osm-data layer is the only implemented layer type

  • Property svn:eol-style set to native
File size: 1.3 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.io.session;
3
4import java.awt.Component;
5import java.io.IOException;
6import java.util.Collection;
7
8import org.w3c.dom.Element;
9
10import org.openstreetmap.josm.gui.layer.Layer;
11import org.openstreetmap.josm.io.session.SessionWriter.ExportSupport;
12
13public interface SessionLayerExporter {
14
15 /**
16 * Return the Layers, this Layer depends on.
17 */
18 Collection<Layer> getDependencies();
19
20 /**
21 * The GUI for exporting this layer.
22 */
23 Component getExportPanel();
24
25 /**
26 * Return true, if the layer should be included in the
27 * list of exported layers.
28 *
29 * The user can veto this in the export panel.
30 */
31 boolean shallExport();
32
33 /**
34 * Return true, if some data needs to be included in
35 * the zip archive. This decision depends on the user
36 * selection in the export panel.
37 *
38 * If any layer requires zip, the user can only save as
39 * .joz. Otherwise both .jos and .joz are possible.
40 */
41 boolean requiresZip();
42
43 /**
44 * Save meta data to the .jos file. Return a <layer> element.
45 * Use support to save files in the zip archive as needed.
46 */
47 Element export(ExportSupport support) throws IOException;
48
49}
50
Note: See TracBrowser for help on using the repository browser.