public static class PasteTagsAction.TagPaster extends Object
Modifier and Type | Field and Description |
---|---|
private Collection<PrimitiveData> |
source |
private List<Tag> |
tags |
private Collection<OsmPrimitive> |
target |
Constructor and Description |
---|
TagPaster(Collection<PrimitiveData> source,
Collection<OsmPrimitive> target)
Constructs a new
TagPaster . |
Modifier and Type | Method and Description |
---|---|
protected void |
buildTags(TagCollection tc) |
protected boolean |
canPasteFromHeterogeneousSourceWithoutConflict()
Replies true if this a heterogeneous source can be pasted without conflict to targets
|
List<Tag> |
execute()
Performs the paste operation.
|
protected Collection<? extends PrimitiveData> |
getSourcePrimitivesByType(OsmPrimitiveType type)
Replies all primitives of type
type in the current selection. |
protected Map<OsmPrimitiveType,Integer> |
getSourceStatistics() |
protected TagCollection |
getSourceTagsByType(OsmPrimitiveType type)
Replies the collection of tags for all primitives of type
type in the current
selection |
protected Map<OsmPrimitiveType,Integer> |
getTargetStatistics() |
protected boolean |
hasSourceTagsByType(OsmPrimitiveType type)
Replies true if there is at least one tag in the current selection for primitives of
type
type |
protected boolean |
hasTargetPrimitives(Class<? extends OsmPrimitive> type)
Replies true if there is at least one primitive of type
type
is in the target collection |
protected boolean |
isHeterogeneousSource()
Determines 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.pasteBuffer s selection consisting
of one type of OsmPrimitive s only). |
private final Collection<PrimitiveData> source
private final Collection<OsmPrimitive> target
public TagPaster(Collection<PrimitiveData> source, Collection<OsmPrimitive> target)
TagPaster
.source
- source primitivestarget
- target primitivesprotected boolean isHeterogeneousSource()
OsmPrimitive
s of exactly one typeprotected Collection<? extends PrimitiveData> getSourcePrimitivesByType(OsmPrimitiveType type)
type
in the current selection.type
- the typetype
in the current selection.protected TagCollection getSourceTagsByType(OsmPrimitiveType type)
type
in the current
selectiontype
- the typetype
in the current
selectionprotected boolean hasSourceTagsByType(OsmPrimitiveType type)
type
type
- the typetype
protected void buildTags(TagCollection tc)
protected Map<OsmPrimitiveType,Integer> getSourceStatistics()
protected Map<OsmPrimitiveType,Integer> getTargetStatistics()
protected void pasteFromHomogeneousSource()
Main.pasteBuffer
s selection consisting
of one type of OsmPrimitive
s 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 boolean hasTargetPrimitives(Class<? extends OsmPrimitive> type)
type
is in the target collectiontype
- the type to look fortype
in the collection
selection
protected boolean canPasteFromHeterogeneousSourceWithoutConflict()
protected void pasteFromHeterogeneousSource()