public static class PasteTagsAction.TagPaster extends java.lang.Object
| Modifier and Type | Field and Description |
|---|---|
private java.util.List<Tag> |
commands |
private java.util.Collection<PrimitiveData> |
source |
private java.util.Collection<OsmPrimitive> |
target |
| Constructor and Description |
|---|
TagPaster(java.util.Collection<PrimitiveData> source,
java.util.Collection<OsmPrimitive> target) |
| Modifier and Type | Method and Description |
|---|---|
protected void |
buildChangeCommand(java.util.Collection<? extends OsmPrimitive> selection,
TagCollection tc) |
protected boolean |
canPasteFromHeterogeneousSourceWithoutConflict(java.util.Collection<OsmPrimitive> targets)
Replies true if this a heterogeneous source can be pasted without conflict to targets
|
java.util.List<Tag> |
execute() |
protected <T extends PrimitiveData> |
getSourcePrimitivesByType(OsmPrimitiveType type)
Replies all primitives of type
type in the current selection. |
protected java.util.Map<OsmPrimitiveType,java.lang.Integer> |
getSourceStatistics() |
protected <T extends OsmPrimitive> |
getSourceTagsByType(OsmPrimitiveType type)
Replies the collection of tags for all primitives of type
type in the current
selection |
protected java.util.Map<OsmPrimitiveType,java.lang.Integer> |
getTargetStatistics() |
protected <T extends OsmPrimitive> |
hasSourceTagsByType(OsmPrimitiveType type)
Replies true if there is at least one tag in the current selection for primitives of
type
type |
protected <T extends OsmPrimitive> |
hasTargetPrimitives(java.lang.Class<T> type)
Replies true if there is at least one primitive of type
type
is in the target collection |
protected boolean |
isHeteogeneousSource()
Replies true if the source for tag pasting is heterogeneous, i.e.
|
protected void |
pasteFromHeterogeneousSource()
Pastes the tags in the current selection of the paste buffer to a set of target
primitives.
|
protected void |
pasteFromHomogeneousSource()
Pastes the tags from a homogeneous source (the
Main.pasteBuffers selection consisting
of one type of OsmPrimitives only). |
private final java.util.Collection<PrimitiveData> source
private final java.util.Collection<OsmPrimitive> target
public TagPaster(java.util.Collection<PrimitiveData> source, java.util.Collection<OsmPrimitive> target)
protected boolean isHeteogeneousSource()
OsmPrimitives of exactly one typeprotected <T extends PrimitiveData> java.util.Collection<? extends PrimitiveData> getSourcePrimitivesByType(OsmPrimitiveType type)
type in the current selection.T - type - the typetype in the current selection.protected <T extends OsmPrimitive> TagCollection getSourceTagsByType(OsmPrimitiveType type)
type in the current
selectionT - type - the typetype in the current
selectionprotected <T extends OsmPrimitive> boolean hasSourceTagsByType(OsmPrimitiveType type)
typeT - type - the typetypeprotected void buildChangeCommand(java.util.Collection<? extends OsmPrimitive> selection, TagCollection tc)
protected java.util.Map<OsmPrimitiveType,java.lang.Integer> getSourceStatistics()
protected java.util.Map<OsmPrimitiveType,java.lang.Integer> getTargetStatistics()
protected void pasteFromHomogeneousSource()
Main.pasteBuffers selection consisting
of one type of OsmPrimitives only).
Tags from a homogeneous source can be pasted to a heterogeneous target. All target primitives,
regardless of their type, receive the same tags.protected <T extends OsmPrimitive> boolean hasTargetPrimitives(java.lang.Class<T> type)
type
is in the target collectionT - type - the type to look fortype in the collection
selectionprotected boolean canPasteFromHeterogeneousSourceWithoutConflict(java.util.Collection<OsmPrimitive> targets)
targets - the collection of target primitivesprotected void pasteFromHeterogeneousSource()