Class VectorWay
- java.lang.Object
-
- org.openstreetmap.josm.data.osm.AbstractPrimitive
-
- org.openstreetmap.josm.data.vector.VectorPrimitive
-
- org.openstreetmap.josm.data.vector.VectorWay
-
- All Implemented Interfaces:
java.lang.Comparable<IPrimitive>,IQuadBucketType,IFilterablePrimitive,IPrimitive,IWay<VectorNode>,PrimitiveId,Stylable,Tagged,DataLayer<java.lang.String>
public class VectorWay extends VectorPrimitive implements IWay<VectorNode>
The "Way" type for a Vector layer- Since:
- 17862
-
-
Field Summary
Fields Modifier and Type Field Description private BBoxcachedBBoxprivate java.util.List<VectorNode>nodesprivate static UniqueIdGeneratorWAY_GENERATOR-
Fields inherited from class org.openstreetmap.josm.data.osm.AbstractPrimitive
changesetId, FLAG_ALL_REFERRERS_DOWNLOADED, FLAG_ANNOTATED, FLAG_DELETED, FLAG_DIRECTION_REVERSED, FLAG_DISABLED, FLAG_DISABLED_TYPE, FLAG_HAS_DIRECTIONS, FLAG_HIDDEN_TYPE, FLAG_HIDE_IF_DISABLED, FLAG_HIGHLIGHTED, FLAG_INCOMPLETE, FLAG_MODIFIED, FLAG_PRESERVED, FLAG_TAGGED, FLAG_VISIBLE, flags, id, keys, mappaintCacheIdx, timestamp, user, version
-
Fields inherited from interface org.openstreetmap.josm.data.osm.Tagged
MAX_TAG_LENGTH
-
-
Constructor Summary
Constructors Constructor Description VectorWay(java.lang.String layer)Create a new way for a layer
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaccept(PrimitiveVisitor visitor)Makes the given visitor visit this primitive.VectorNodefirstNode()Returns the first node of this way.BBoxgetBBox()Fetches the bounding box of the primitive.OsmPrimitiveTypegetDisplayType()Gets the type this primitive is displayed atUniqueIdGeneratorgetIdGenerator()Returns the unique identifier generator.VectorNodegetNode(int index)Replies the node at positionindex.longgetNodeId(int idx)Returns id of the node at given index.java.util.List<java.lang.Long>getNodeIds()Returns the list of node ids in this way.java.util.List<VectorNode>getNodes()Returns the list of nodes in this way.intgetNodesCount()Replies the number of nodes in this way.OsmPrimitiveTypegetType()Gets the type of object represented by this object.booleanisClosed()Determines if this way is closed.booleanisFirstLastNode(INode n)Replies true if the given node is the first or the last one of this way, false otherwise.booleanisInnerNode(INode n)Replies true if the given node is an inner node of this way, false otherwise.VectorNodelastNode()Returns the last node of this way.voidsetNodes(java.util.List<VectorNode> nodes)Set new list of nodes to way.-
Methods inherited from class org.openstreetmap.josm.data.vector.VectorPrimitive
addReferrer, declareCachedStyleUpToDate, getCachedStyle, getDataSet, getLayer, getReferrers, hasDirectionKeys, isAnnotated, isCachedStyleUpToDate, isHighlighted, keysChangedImpl, referrers, removeReferrer, reversedDirection, setCachedStyle, setDataSet, setDisabled, setHighlighted, setId, setVisible, visitReferrers
-
Methods inherited from class org.openstreetmap.josm.data.osm.AbstractPrimitive
clearOsmMetadata, cloneFrom, doGet, get, getChangesetId, getDisabledType, getDiscardableKeys, getFlagsAsString, getHiddenType, getId, getIgnoreCase, getInstant, getInterestingTags, getKeys, getNumKeys, getRawTimestamp, getUninterestingKeys, getUniqueId, getUser, getVersion, getWorkInProgressKeys, hasKey, hasKey, hasKeys, isDeleted, isDisabled, isDisabledAndHidden, isDrawable, isIncomplete, isModified, isNew, isNewOrUndeleted, isPreserved, isReferrersDownloaded, isTagged, isTimestampEmpty, isUndeleted, isUninterestingKey, isUsable, isVisible, keys, keySet, put, putAll, remove, removeAll, setChangesetId, setDeleted, setDisabledState, setDisabledType, setHiddenType, setIncomplete, setInstant, setKeys, setKeys, setModified, setOsmId, setRawTimestamp, setReferrersDownloaded, setUser, unsetDisabledState, updateFlags, updateFlagsChanged, visitKeys
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.openstreetmap.josm.data.osm.IPrimitive
getChangesetId, getDataSet, getId, getInstant, getInterestingTags, getLocalName, getName, getOsmId, getOsmPrimitiveId, getPrimitiveId, getRawTimestamp, getReferrers, getReferrers, getStyleCacheSyncObject, getUser, getVersion, hasDirectionKeys, hasSameInterestingTags, isAnnotated, isDeleted, isDisabled, isDisabledAndHidden, isDrawable, isHighlighted, isIncomplete, isMemberOfSelected, isModified, isMultipolygon, isNewOrUndeleted, isOuterMemberOfSelected, isPreserved, isReferrersDownloaded, isSelectable, isSelected, isTagged, isTimestampEmpty, isUndeleted, isUsable, isVisible, reversedDirection, setChangesetId, setDeleted, setHighlighted, setInstant, setModified, setOsmId, setRawTimestamp, setReferrersDownloaded, setUser, setVisible, visitReferrers
-
Methods inherited from interface org.openstreetmap.josm.data.osm.IWay
compareTo, getChildren, getDisplayName, getRealNodesCount, hasIncompleteNodes, isEmpty
-
Methods inherited from interface org.openstreetmap.josm.data.osm.PrimitiveId
getUniqueId, isNew
-
Methods inherited from interface org.openstreetmap.josm.data.osm.Stylable
clearCachedStyle, declareCachedStyleUpToDate, getCachedStyle, isCachedStyleUpToDate, setCachedStyle
-
Methods inherited from interface org.openstreetmap.josm.data.osm.Tagged
get, getKeys, getNumKeys, hasKey, hasKeys, hasTag, hasTag, hasTag, hasTag, hasTagDifferent, hasTagDifferent, hasTagDifferent, isKeyFalse, isKeyTrue, keys, keySet, put, put, putAll, remove, removeAll, setKeys, visitKeys
-
-
-
-
Field Detail
-
WAY_GENERATOR
private static final UniqueIdGenerator WAY_GENERATOR
-
nodes
private final java.util.List<VectorNode> nodes
-
cachedBBox
private BBox cachedBBox
-
-
Constructor Detail
-
VectorWay
public VectorWay(java.lang.String layer)
Create a new way for a layer- Parameters:
layer- The layer for the way
-
-
Method Detail
-
getIdGenerator
public UniqueIdGenerator getIdGenerator()
Description copied from class:AbstractPrimitiveReturns the unique identifier generator.- Specified by:
getIdGeneratorin classAbstractPrimitive- Returns:
- the unique identifier generator
-
accept
public void accept(PrimitiveVisitor visitor)
Description copied from interface:IPrimitiveMakes the given visitor visit this primitive.- Specified by:
acceptin interfaceIPrimitive- Parameters:
visitor- visitor
-
getBBox
public BBox getBBox()
Description copied from interface:IPrimitiveFetches the bounding box of the primitive. Since 17752, the returned bounding box might be immutable, i.e., modifying calls throw anUnsupportedOperationException.- Specified by:
getBBoxin interfaceIPrimitive- Specified by:
getBBoxin interfaceIQuadBucketType- Returns:
- Bounding box of the object
-
getNodesCount
public int getNodesCount()
Description copied from interface:IWayReplies the number of nodes in this way.- Specified by:
getNodesCountin interfaceIWay<VectorNode>- Returns:
- the number of nodes in this way.
-
getNode
public VectorNode getNode(int index)
Description copied from interface:IWayReplies the node at positionindex.- Specified by:
getNodein interfaceIWay<VectorNode>- Parameters:
index- the position- Returns:
- the node at position
index
-
getNodes
public java.util.List<VectorNode> getNodes()
Description copied from interface:IWayReturns the list of nodes in this way.- Specified by:
getNodesin interfaceIWay<VectorNode>- Returns:
- the list of nodes in this way
-
setNodes
public void setNodes(java.util.List<VectorNode> nodes)
Description copied from interface:IWaySet new list of nodes to way. This method is preferred to multiple calls to addNode/removeNode and similar methods because nodes are internally saved as array which means lower memory overhead but also slower modifying operations.- Specified by:
setNodesin interfaceIWay<VectorNode>- Parameters:
nodes- New way nodes. Can be null, in that case all way nodes are removed
-
getNodeIds
public java.util.List<java.lang.Long> getNodeIds()
Description copied from interface:IWayReturns the list of node ids in this way.- Specified by:
getNodeIdsin interfaceIWay<VectorNode>- Returns:
- the list of node ids in this way
-
getNodeId
public long getNodeId(int idx)
Description copied from interface:IWayReturns id of the node at given index.- Specified by:
getNodeIdin interfaceIWay<VectorNode>- Parameters:
idx- node index- Returns:
- id of the node at given index
-
isClosed
public boolean isClosed()
Description copied from interface:IWayDetermines if this way is closed.- Specified by:
isClosedin interfaceIWay<VectorNode>- Returns:
trueif this way is closed,falseotherwise
-
firstNode
public VectorNode firstNode()
Description copied from interface:IWayReturns the first node of this way. The result equalsgetNode(0).- Specified by:
firstNodein interfaceIWay<VectorNode>- Returns:
- the first node of this way
-
lastNode
public VectorNode lastNode()
Description copied from interface:IWayReturns the last node of this way. The result equals.getNode(getNodesCount- 1)- Specified by:
lastNodein interfaceIWay<VectorNode>- Returns:
- the last node of this way
-
isFirstLastNode
public boolean isFirstLastNode(INode n)
Description copied from interface:IWayReplies true if the given node is the first or the last one of this way, false otherwise.- Specified by:
isFirstLastNodein interfaceIWay<VectorNode>- Parameters:
n- The node to test- Returns:
- true if the
nis the first or the last node, false otherwise.
-
isInnerNode
public boolean isInnerNode(INode n)
Description copied from interface:IWayReplies true if the given node is an inner node of this way, false otherwise.- Specified by:
isInnerNodein interfaceIWay<VectorNode>- Parameters:
n- The node to test- Returns:
- true if the
nis an inner node, false otherwise.
-
getType
public OsmPrimitiveType getType()
Description copied from interface:PrimitiveIdGets the type of object represented by this object. Note that this should return the base primitive type (OsmPrimitiveType.NODE,OsmPrimitiveType.WAY, andOsmPrimitiveType.RELATION).- Specified by:
getTypein interfacePrimitiveId- Returns:
- the object type
- See Also:
Node,Way,Relation
-
getDisplayType
public OsmPrimitiveType getDisplayType()
Description copied from interface:IPrimitiveGets the type this primitive is displayed at- Specified by:
getDisplayTypein interfaceIPrimitive- Returns:
- A
OsmPrimitiveType
-
-