source: josm/trunk/src/org/openstreetmap/josm/gui/datatransfer/data/LayerTransferData.java@ 10801

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

fix #13341 - refactor construction of data flavors, specify classloader to use

File size: 1.8 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.gui.datatransfer.data;
3
4import java.awt.datatransfer.DataFlavor;
5import java.util.Arrays;
6import java.util.Collections;
7import java.util.List;
8
9import org.openstreetmap.josm.gui.datatransfer.ClipboardUtils;
10import org.openstreetmap.josm.gui.datatransfer.LayerTransferable;
11import org.openstreetmap.josm.gui.layer.Layer;
12import org.openstreetmap.josm.gui.layer.LayerManager;
13
14/**
15 * This transferable implements a layer transfer.
16 * @author Michael Zangl
17 * @since 10605
18 */
19public class LayerTransferData extends LayerTransferable.Data {
20 /**
21 * This is a data flavor for all layer types
22 */
23 public static final DataFlavor FLAVOR = ClipboardUtils.newDataFlavor(LayerTransferData.class, "Layer");
24
25 /**
26 * The flavors that are supported by this data type.
27 */
28 private static final List<DataFlavor> FLAVORS = Arrays.asList(LayerTransferData.FLAVOR, LayerTransferable.LAYER_DATA);
29
30 private final Layer layer;
31
32 /**
33 * Create a new transfer data for the given layer
34 * @param layerManager The layer manager that the layer is moved in. May be <code>null</code>
35 * @param layer The layer
36 */
37 public LayerTransferData(LayerManager layerManager, Layer layer) {
38 super(layerManager, Collections.singletonList(layer));
39 this.layer = layer;
40 }
41
42 /**
43 * Gets the layer to be transfered.
44 * @return The layer
45 */
46 public Layer getLayer() {
47 return layer;
48 }
49
50 /**
51 * Gets a list of flavors supported by this data.
52 * @return The flavors.
53 */
54 public List<DataFlavor> getSupportedFlavors() {
55 return Collections.unmodifiableList(FLAVORS);
56 }
57
58 @Override
59 public String toString() {
60 return "LayerTransferData [layer=" + layer + ']';
61 }
62}
Note: See TracBrowser for help on using the repository browser.