source: josm/trunk/src/org/openstreetmap/josm/data/osm/IOsmDataManager.java@ 14145

Last change on this file since 14145 was 14143, checked in by Don-vip, 6 years ago

see #15229 - deprecate Main.main - new class OsmDataManager

  • Property svn:eol-style set to native
File size: 1.7 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.data.osm;
3
4import java.util.Collection;
5
6/**
7 * Global OSM dataset registry.
8 * @since 14143
9 */
10public interface IOsmDataManager {
11
12 /**
13 * Replies the current selected OSM primitives, from a end-user point of view.
14 * It is not always technically the same collection of primitives than {@link DataSet#getSelected()}.
15 * @return The current selected OSM primitives, from a end-user point of view. Can be {@code null}.
16 */
17 Collection<OsmPrimitive> getInProgressSelection();
18
19 /**
20 * Replies the current selected primitives, from a end-user point of view.
21 * It is not always technically the same collection of primitives than {@link OsmData#getSelected()}.
22 * @return The current selected primitives, from a end-user point of view. Can be {@code null}.
23 */
24 Collection<? extends IPrimitive> getInProgressISelection();
25
26 /**
27 * Gets the active edit data set (not read-only).
28 * @return That data set, <code>null</code>.
29 * @see #getActiveDataSet
30 */
31 DataSet getEditDataSet();
32
33 /**
34 * Gets the active data set (can be read-only).
35 * @return That data set, <code>null</code>.
36 * @see #getEditDataSet
37 */
38 DataSet getActiveDataSet();
39
40 /**
41 * Sets the active data set (and also edit data set if not read-only).
42 * @param ds New data set, or <code>null</code>
43 */
44 void setActiveDataSet(DataSet ds);
45
46 /**
47 * Determines if the list of data sets managed by JOSM contains {@code ds}.
48 * @param ds the data set to look for
49 * @return {@code true} if the list of data sets managed by JOSM contains {@code ds}
50 */
51 boolean containsDataSet(DataSet ds);
52}
Note: See TracBrowser for help on using the repository browser.