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 BBoxcachedBBoxprivate java.util.List<VectorRelationMember>membersprivate static UniqueIdGeneratorRELATION_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 voidaccept(PrimitiveVisitor visitor)Makes the given visitor visit this primitive.protected voidaddRelationMember(VectorRelationMember member)BBoxgetBBox()Fetches the bounding box of the primitive.UniqueIdGeneratorgetIdGenerator()Returns the unique identifier generator.VectorRelationMembergetMember(int index)Returns the relation member at the specified index.longgetMemberId(int idx)Returns id of the member at given index.java.util.List<VectorRelationMember>getMembers()Returns members of the relation.intgetMembersCount()Returns the number of members.OsmPrimitiveTypegetMemberType(int idx)Returns type of the member at given index.java.lang.StringgetRole(int idx)Returns role of the member at given index.OsmPrimitiveTypegetType()Gets the type of object represented by this object.protected voidremoveRelationMember(VectorRelationMember member)Remove the first instance of a member from the relationvoidsetMembers(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: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
-
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:IRelationReturns the number of members.- Specified by:
getMembersCountin interfaceIRelation<VectorRelationMember>- Returns:
- number of members
-
getMember
public VectorRelationMember getMember(int index)
Description copied from interface:IRelationReturns the relation member at the specified index.- Specified by:
getMemberin 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:IRelationReturns members of the relation.- Specified by:
getMembersin 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:IRelationSets members of the relation.- Specified by:
setMembersin interfaceIRelation<VectorRelationMember>- Parameters:
members- Can be null, in that case all members are removed
-
getMemberId
public long getMemberId(int idx)
Description copied from interface:IRelationReturns id of the member at given index.- Specified by:
getMemberIdin 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:IRelationReturns role of the member at given index.- Specified by:
getRolein interfaceIRelation<VectorRelationMember>- Parameters:
idx- member index- Returns:
- role of the member at given index
-
getMemberType
public OsmPrimitiveType getMemberType(int idx)
Description copied from interface:IRelationReturns type of the member at given index.- Specified by:
getMemberTypein interfaceIRelation<VectorRelationMember>- Parameters:
idx- member index- Returns:
- type of the member at given index
-
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
-
-