Class VectorRelation
- java.lang.Object
-
- org.openstreetmap.josm.data.osm.AbstractPrimitive
-
- org.openstreetmap.josm.data.vector.VectorPrimitive
-
- org.openstreetmap.josm.data.vector.VectorRelation
-
- All Implemented Interfaces:
java.lang.Comparable<IPrimitive>
,IQuadBucketType
,IFilterablePrimitive
,IPrimitive
,IRelation<VectorRelationMember>
,PrimitiveId
,Stylable
,Tagged
,DataLayer<java.lang.String>
public class VectorRelation extends VectorPrimitive implements IRelation<VectorRelationMember>
The "Relation" type for vectors- Since:
- 17862
-
-
Field Summary
Fields Modifier and Type Field Description private BBox
cachedBBox
private java.util.List<VectorRelationMember>
members
private static UniqueIdGenerator
RELATION_ID_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 VectorRelation(java.lang.String layer)
Create a new relation for a layer
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
accept(PrimitiveVisitor visitor)
Makes the given visitor visit this primitive.protected void
addRelationMember(VectorRelationMember member)
BBox
getBBox()
Fetches the bounding box of the primitive.UniqueIdGenerator
getIdGenerator()
Returns the unique identifier generator.VectorRelationMember
getMember(int index)
Returns the relation member at the specified index.long
getMemberId(int idx)
Returns id of the member at given index.java.util.List<VectorRelationMember>
getMembers()
Returns members of the relation.int
getMembersCount()
Returns the number of members.OsmPrimitiveType
getMemberType(int idx)
Returns type of the member at given index.java.lang.String
getRole(int idx)
Returns role of the member at given index.OsmPrimitiveType
getType()
Gets the type of object represented by this object.protected void
removeRelationMember(VectorRelationMember member)
Remove the first instance of a member from the relationvoid
setMembers(java.util.List<VectorRelationMember> members)
Sets members of the relation.-
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, getDisplayType, 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, 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.IRelation
compareTo, findRelationMembers, getChildren, getDisplayName, getIncompleteMembers, getMemberPrimitivesList, hasIncompleteMembers, isBoundary, isEmpty, isMultipolygon, isUseful
-
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
-
RELATION_ID_GENERATOR
private static final UniqueIdGenerator RELATION_ID_GENERATOR
-
members
private final java.util.List<VectorRelationMember> members
-
cachedBBox
private BBox cachedBBox
-
-
Constructor Detail
-
VectorRelation
public VectorRelation(java.lang.String layer)
Create a new relation for a layer- Parameters:
layer
- The layer the relation will belong to
-
-
Method Detail
-
getIdGenerator
public UniqueIdGenerator getIdGenerator()
Description copied from class:AbstractPrimitive
Returns the unique identifier generator.- Specified by:
getIdGenerator
in classAbstractPrimitive
- Returns:
- the unique identifier generator
-
accept
public void accept(PrimitiveVisitor visitor)
Description copied from interface:IPrimitive
Makes the given visitor visit this primitive.- Specified by:
accept
in interfaceIPrimitive
- Parameters:
visitor
- visitor
-
getBBox
public BBox getBBox()
Description copied from interface:IPrimitive
Fetches the bounding box of the primitive. Since 17752, the returned bounding box might be immutable, i.e., modifying calls throw anUnsupportedOperationException
.- Specified by:
getBBox
in interfaceIPrimitive
- Specified by:
getBBox
in interfaceIQuadBucketType
- Returns:
- Bounding box of the object
-
addRelationMember
protected void addRelationMember(VectorRelationMember member)
-
removeRelationMember
protected void removeRelationMember(VectorRelationMember member)
Remove the first instance of a member from the relation- Parameters:
member
- The member to remove
-
getMembersCount
public int getMembersCount()
Description copied from interface:IRelation
Returns the number of members.- Specified by:
getMembersCount
in interfaceIRelation<VectorRelationMember>
- Returns:
- number of members
-
getMember
public VectorRelationMember getMember(int index)
Description copied from interface:IRelation
Returns the relation member at the specified index.- Specified by:
getMember
in interfaceIRelation<VectorRelationMember>
- Parameters:
index
- the index of the relation member- Returns:
- relation member at the specified index
-
getMembers
public java.util.List<VectorRelationMember> getMembers()
Description copied from interface:IRelation
Returns members of the relation.- Specified by:
getMembers
in interfaceIRelation<VectorRelationMember>
- Returns:
- Members of the relation. Changes made in returned list are not mapped
back to the primitive, use
IRelation.setMembers(java.util.List<M>)
to modify the members
-
setMembers
public void setMembers(java.util.List<VectorRelationMember> members)
Description copied from interface:IRelation
Sets members of the relation.- Specified by:
setMembers
in interfaceIRelation<VectorRelationMember>
- Parameters:
members
- Can be null, in that case all members are removed
-
getMemberId
public long getMemberId(int idx)
Description copied from interface:IRelation
Returns id of the member at given index.- Specified by:
getMemberId
in interfaceIRelation<VectorRelationMember>
- Parameters:
idx
- member index- Returns:
- id of the member at given index
-
getRole
public java.lang.String getRole(int idx)
Description copied from interface:IRelation
Returns role of the member at given index.- Specified by:
getRole
in interfaceIRelation<VectorRelationMember>
- Parameters:
idx
- member index- Returns:
- role of the member at given index
-
getMemberType
public OsmPrimitiveType getMemberType(int idx)
Description copied from interface:IRelation
Returns type of the member at given index.- Specified by:
getMemberType
in interfaceIRelation<VectorRelationMember>
- Parameters:
idx
- member index- Returns:
- type of the member at given index
-
getType
public OsmPrimitiveType getType()
Description copied from interface:PrimitiveId
Gets 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:
getType
in interfacePrimitiveId
- Returns:
- the object type
- See Also:
Node
,Way
,Relation
-
-