Package org.openstreetmap.josm.data.osm
Interface IRelation<M extends IRelationMember<? extends IPrimitive>>
-
- Type Parameters:
M
- Type of OSM relation member
- All Superinterfaces:
java.lang.Comparable<IPrimitive>
,IPrimitive
,IQuadBucketType
,PrimitiveId
,Stylable
,Tagged
- All Known Implementing Classes:
Relation
,RelationData
,VectorRelation
public interface IRelation<M extends IRelationMember<? extends IPrimitive>> extends IPrimitive
IRelation captures the common functions ofRelation
andRelationData
.- Since:
- 4098
-
-
Field Summary
-
Fields inherited from interface org.openstreetmap.josm.data.osm.Tagged
MAX_TAG_LENGTH
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default int
compareTo(IPrimitive o)
default java.util.List<? extends IPrimitive>
findRelationMembers(java.lang.String role)
Returns a list of relation members having the specified role.default java.util.List<? extends IPrimitive>
getChildren()
Get child primitives that are referred by this primitive.default java.lang.String
getDisplayName(NameFormatter formatter)
Replies the display name of a primitive formatted byformatter
default java.util.Collection<? extends IPrimitive>
getIncompleteMembers()
Replies a collection with the incomplete children this relation refers to.M
getMember(int index)
Returns the relation member at the specified index.long
getMemberId(int idx)
Returns id of the member at given index.default java.util.List<? extends IPrimitive>
getMemberPrimitivesList()
Returns an unmodifiable list of theOsmPrimitive
s referred to by at least one member of this relation.java.util.List<M>
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.default boolean
hasIncompleteMembers()
Determines if at least one child primitive is incomplete.default boolean
isBoundary()
Determines if this relation is a boundary.default boolean
isEmpty()
Determines if this relation is empty, i.e.default boolean
isMultipolygon()
Determines if this object is a relation and behaves as a multipolygon.default boolean
isUseful()
Check if this relation is usefulvoid
setMembers(java.util.List<M> members)
Sets members of the relation.-
Methods inherited from interface org.openstreetmap.josm.data.osm.IPrimitive
accept, getBBox, getChangesetId, getDataSet, getDisplayType, getId, getInstant, getInterestingTags, getLocalName, getName, getOsmId, getOsmPrimitiveId, getPrimitiveId, getRawTimestamp, getReferrers, getReferrers, getStyleCacheSyncObject, getTimestamp, 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, setTimestamp, setUser, setVisible, visitReferrers
-
Methods inherited from interface org.openstreetmap.josm.data.osm.PrimitiveId
getType, 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
-
-
-
-
Method Detail
-
getMembersCount
int getMembersCount()
Returns the number of members.- Returns:
- number of members
-
isEmpty
default boolean isEmpty()
Determines if this relation is empty, i.e. it has no members.- Returns:
true
if this relation is empty, i.e. it has no members- Since:
- 16119
-
getMember
M getMember(int index)
Returns the relation member at the specified index.- Parameters:
index
- the index of the relation member- Returns:
- relation member at the specified index
- Since:
- 13766 (IRelation)
-
getMembers
java.util.List<M> getMembers()
Returns members of the relation.- Returns:
- Members of the relation. Changes made in returned list are not mapped
back to the primitive, use
setMembers(java.util.List<M>)
to modify the members - Since:
- 1925, 13766 (IRelation)
-
setMembers
void setMembers(java.util.List<M> members)
Sets members of the relation.- Parameters:
members
- Can be null, in that case all members are removed
-
getMemberId
long getMemberId(int idx)
Returns id of the member at given index.- Parameters:
idx
- member index- Returns:
- id of the member at given index
-
getRole
java.lang.String getRole(int idx)
Returns role of the member at given index.- Parameters:
idx
- member index- Returns:
- role of the member at given index
-
getMemberType
OsmPrimitiveType getMemberType(int idx)
Returns type of the member at given index.- Parameters:
idx
- member index- Returns:
- type of the member at given index
-
hasIncompleteMembers
default boolean hasIncompleteMembers()
Determines if at least one child primitive is incomplete.- Returns:
- true if at least one child primitive is incomplete
- Since:
- 13564
-
compareTo
default int compareTo(IPrimitive o)
- Specified by:
compareTo
in interfacejava.lang.Comparable<M extends IRelationMember<? extends IPrimitive>>
-
getDisplayName
default java.lang.String getDisplayName(NameFormatter formatter)
Description copied from interface:IPrimitive
Replies the display name of a primitive formatted byformatter
- Specified by:
getDisplayName
in interfaceIPrimitive
- Parameters:
formatter
- formatter to use- Returns:
- the display name
-
isBoundary
default boolean isBoundary()
Determines if this relation is a boundary.- Returns:
true
if a boundary relation
-
isMultipolygon
default boolean isMultipolygon()
Description copied from interface:IPrimitive
Determines if this object is a relation and behaves as a multipolygon.- Specified by:
isMultipolygon
in interfaceIPrimitive
- Returns:
true
if it is a real multipolygon or a boundary relation
-
getMemberPrimitivesList
default java.util.List<? extends IPrimitive> getMemberPrimitivesList()
Returns an unmodifiable list of theOsmPrimitive
s referred to by at least one member of this relation.- Returns:
- an unmodifiable list of the primitives
- Since:
- 13957
-
getChildren
default java.util.List<? extends IPrimitive> getChildren()
Description copied from interface:IPrimitive
Get child primitives that are referred by this primitive.Relation
: Members of the relationWay
: Nodes used by the wayNode
: None- Specified by:
getChildren
in interfaceIPrimitive
- Returns:
- List of child primitives
-
getIncompleteMembers
default java.util.Collection<? extends IPrimitive> getIncompleteMembers()
Replies a collection with the incomplete children this relation refers to.- Returns:
- the incomplete children. Empty collection if no children are incomplete.
- Since:
- 13957
-
findRelationMembers
default java.util.List<? extends IPrimitive> findRelationMembers(java.lang.String role)
Returns a list of relation members having the specified role.- Parameters:
role
- role- Returns:
- a list of relation members having the specified role
- Since:
- 15418
-
isUseful
default boolean isUseful()
Check if this relation is useful- Returns:
true
if this relation is useful- Since:
- 18413
-
-