public final class Relation extends OsmPrimitive implements IRelation
| Modifier and Type | Field and Description |
|---|---|
private BBox |
bbox |
private RelationMember[] |
members |
allPredicate, FLAG_ANNOTATED, FLAG_DIRECTION_REVERSED, FLAG_DISABLED, FLAG_DISABLED_TYPE, FLAG_HAS_DIRECTIONS, FLAG_HIDDEN_TYPE, FLAG_HIDE_IF_DISABLED, FLAG_HIGHLIGHTED, FLAG_TAGGED, isSelectablePredicate, isUsablePredicate, mappaintCacheIdx, mappaintStyle, modifiedPredicate, multipolygonPredicate, nodePredicate, nonDeletedCompletePredicate, nonDeletedPhysicalPredicate, nonDeletedPredicate, relationPredicate, wayPredicatechangesetId, FLAG_DELETED, FLAG_INCOMPLETE, FLAG_MODIFIED, FLAG_VISIBLE, flags, id, keys, timestamp, user, version| Modifier | Constructor and Description |
|---|---|
|
Relation()
Create a new relation with id 0
|
|
Relation(long id)
Creates a new relation for the given id.
|
protected |
Relation(long id,
boolean allowNegative) |
|
Relation(long id,
int version)
Creates new relation
|
|
Relation(Relation clone)
Create an identical clone of the argument (including the id)
|
|
Relation(Relation clone,
boolean clearMetadata)
Constructs an identical clone of the argument.
|
| Modifier and Type | Method and Description |
|---|---|
void |
accept(PrimitiveVisitor visitor) |
void |
accept(Visitor visitor)
Implementation of the visitor scheme.
|
void |
addMember(int index,
RelationMember member) |
void |
addMember(RelationMember member) |
private BBox |
calculateBBox(java.util.Set<PrimitiveId> visitedRelations) |
private void |
checkMembers() |
void |
cloneFrom(OsmPrimitive osm)
Get and write all attributes from the parameter.
|
int |
compareTo(OsmPrimitive o) |
boolean |
concernsArea()
Determines if this primitive semantically concerns an area.
|
private void |
fireMembersChanged() |
RelationMember |
firstMember() |
BBox |
getBBox()
Fetch the bounding box of the primitive
|
java.lang.String |
getDisplayName(NameFormatter formatter)
Replies the display name of a primitive formatted by
formatter |
OsmPrimitiveType |
getDisplayType() |
java.util.Collection<OsmPrimitive> |
getIncompleteMembers()
Replies a collection with the incomplete children this relation refers to.
|
RelationMember |
getMember(int index) |
long |
getMemberId(int idx) |
java.util.Set<OsmPrimitive> |
getMemberPrimitives()
Replies the set of
OsmPrimitives referred to by at least one
member of this relation |
<T extends OsmPrimitive> |
getMemberPrimitives(java.lang.Class<T> tClass) |
java.util.List<OsmPrimitive> |
getMemberPrimitivesList() |
java.util.Set<java.lang.String> |
getMemberRoles()
Returns the set of roles used in this relation.
|
java.util.List<RelationMember> |
getMembers() |
int |
getMembersCount() |
java.util.Collection<RelationMember> |
getMembersFor(java.util.Collection<? extends OsmPrimitive> primitives)
Obtains all members with member.member == primitive
|
OsmPrimitiveType |
getMemberType(int idx) |
java.lang.String |
getRole(int idx) |
OsmPrimitiveType |
getType()
Gets the type of object represented by this object.
|
boolean |
hasEqualSemanticAttributes(OsmPrimitive other)
Replies true if this primitive and other are equal with respect to their
semantic attributes.
|
boolean |
hasIncompleteMembers()
Determines if at least one child primitive is incomplete.
|
boolean |
isMultipolygon() |
boolean |
isOutsideDownloadArea()
Tests if this primitive lies outside of the downloaded area of its
DataSet. |
protected void |
keysChangedImpl(java.util.Map<java.lang.String,java.lang.String> originalKeys)
What to do, when the tags have changed by one of the tag-changing methods.
|
RelationMember |
lastMember() |
void |
load(PrimitiveData data)
Loads (clone) this primitive from provided PrimitiveData
|
RelationMember |
removeMember(int index)
Removes member at specified position.
|
void |
removeMembersFor(java.util.Collection<? extends OsmPrimitive> primitives)
removes all members with member.member == primitive
|
void |
removeMembersFor(OsmPrimitive primitive)
removes all members with member.member == primitive
|
RelationData |
save()
Save parameters of this primitive to the transport object
|
(package private) void |
setDataset(DataSet dataSet)
This method should never ever by called from somewhere else than Dataset.addPrimitive or removePrimitive methods
|
void |
setDeleted(boolean deleted)
Sets whether this primitive is deleted or not.
|
RelationMember |
setMember(int index,
RelationMember member)
Replace member at position specified by index.
|
void |
setMembers(java.util.List<RelationMember> members) |
java.lang.String |
toString() |
void |
updatePosition()
Called by Dataset to update cached position information of primitive (bbox, cached EarthNorth, ...)
|
addReferrer, checkDataset, clearCachedStyle, clearOsmMetadata, equals, evaluateCondition, getDataSet, getDisabledType, getDiscardableKeys, getFilteredList, getFilteredSet, getFlagsAsString, getHiddenType, getInterestingTags, getParentRelations, getReferrer, getReferrers, getReferrers, getTemplateKeys, getTemplateValue, getUninterestingKeys, getWorkInProgressKeys, hasAreaTags, hasDirectionKeys, hasEqualTechnicalAttributes, hashCode, hasSameInterestingTags, isAnnotated, isDisabled, isDisabledAndHidden, isDrawable, isHighlighted, isMemberOfSelected, isOuterMemberOfSelected, isReferredByWays, isSelectable, isSelected, isTagged, isUninterestingKey, mergeFrom, put, remove, removeAll, removeReferrer, reversedDirection, saveCommonAttributes, setChangesetId, setDisabledState, setDisabledType, setHiddenType, setHighlighted, setIncomplete, setKeys, setOsmId, setTimestamp, setUser, setVisible, unsetDisabledState, updateFlags, visitReferrers, writeLock, writeUnlockcloneFrom, generateUniqueId, get, getChangesetId, getId, getIgnoreCase, getKeys, getLocalName, getName, getNumKeys, getPrimitiveId, getTimestamp, getUniqueId, getUser, getVersion, hasKey, hasKeys, hasTag, hasTag, hasTag, isDeleted, isIncomplete, isKeyFalse, isKeyTrue, isModified, isNew, isNewOrUndeleted, isTimestampEmpty, isUndeleted, isUsable, isVisible, keySet, setModifiedclone, finalize, getClass, notify, notifyAll, wait, wait, waitgetChangesetId, getId, getLocalName, getName, getPrimitiveId, getTimestamp, getUser, getVersion, isDeleted, isIncomplete, isModified, isNewOrUndeleted, isTimestampEmpty, isVisible, setChangesetId, setModified, setOsmId, setTimestamp, setUser, setVisibleget, getKeys, hasKeys, keySet, put, remove, removeAll, setKeysgetUniqueId, isNewprivate RelationMember[] members
protected Relation(long id, boolean allowNegative)
public Relation()
public Relation(Relation clone, boolean clearMetadata)
clone - The relation to cloneclearMetadata - If true, clears the OSM id and other metadata as defined by OsmPrimitive.clearOsmMetadata(). If false, does nothingpublic Relation(Relation clone)
clone - The relation to clone, including its idpublic Relation(long id) throws java.lang.IllegalArgumentException
id - the id. > 0 requiredjava.lang.IllegalArgumentException - thrown if id < 0public Relation(long id, int version)
id - version - public java.util.List<RelationMember> getMembers()
public void setMembers(java.util.List<RelationMember> members)
members - Can be null, in that case all members are removedpublic int getMembersCount()
getMembersCount in interface IRelationpublic RelationMember getMember(int index)
public void addMember(RelationMember member)
public void addMember(int index, RelationMember member)
public RelationMember setMember(int index, RelationMember member)
index - member - public RelationMember removeMember(int index)
index - public long getMemberId(int idx)
getMemberId in interface IRelationpublic OsmPrimitiveType getMemberType(int idx)
getMemberType in interface IRelationpublic void accept(Visitor visitor)
OsmPrimitiveaccept in class OsmPrimitivevisitor - The visitor from which the visit() function must be called.public void accept(PrimitiveVisitor visitor)
accept in interface IPrimitivepublic void cloneFrom(OsmPrimitive osm)
OsmPrimitivecloneFrom in class OsmPrimitivepublic void load(PrimitiveData data)
OsmPrimitiveload in class OsmPrimitivedata - The object which should be clonedpublic RelationData save()
OsmPrimitivesave in class OsmPrimitivepublic java.lang.String toString()
toString in class java.lang.Objectpublic boolean hasEqualSemanticAttributes(OsmPrimitive other)
OsmPrimitivehasEqualSemanticAttributes in class OsmPrimitivepublic int compareTo(OsmPrimitive o)
compareTo in interface java.lang.Comparable<OsmPrimitive>public RelationMember firstMember()
public RelationMember lastMember()
public void removeMembersFor(OsmPrimitive primitive)
primitive - the primitive to check forpublic void setDeleted(boolean deleted)
AbstractPrimitivesetDeleted in interface IPrimitivesetDeleted in class OsmPrimitivedeleted - true, if this primitive is deleted; false, otherwisepublic java.util.Collection<RelationMember> getMembersFor(java.util.Collection<? extends OsmPrimitive> primitives)
primitives - the primitives to check forpublic void removeMembersFor(java.util.Collection<? extends OsmPrimitive> primitives)
primitives - the primitives to check forpublic java.lang.String getDisplayName(NameFormatter formatter)
OsmPrimitiveformattergetDisplayName in class OsmPrimitivepublic java.util.Set<OsmPrimitive> getMemberPrimitives()
OsmPrimitives referred to by at least one
member of this relationOsmPrimitives referred to by at least one
member of this relationpublic <T extends OsmPrimitive> java.util.Collection<T> getMemberPrimitives(java.lang.Class<T> tClass)
public java.util.List<OsmPrimitive> getMemberPrimitivesList()
public OsmPrimitiveType getType()
PrimitiveIdgetType in interface PrimitiveIdNode,
Way,
Relationpublic OsmPrimitiveType getDisplayType()
getDisplayType in class AbstractPrimitivepublic boolean isMultipolygon()
public BBox getBBox()
OsmPrimitivegetBBox in class OsmPrimitiveprivate BBox calculateBBox(java.util.Set<PrimitiveId> visitedRelations)
public void updatePosition()
OsmPrimitiveupdatePosition in class OsmPrimitivevoid setDataset(DataSet dataSet)
OsmPrimitivesetDataset in class OsmPrimitiveprivate void checkMembers() throws DataIntegrityProblemException
DataIntegrityProblemExceptionprivate void fireMembersChanged() throws DataIntegrityProblemException
DataIntegrityProblemExceptionpublic boolean hasIncompleteMembers()
public java.util.Collection<OsmPrimitive> getIncompleteMembers()
protected void keysChangedImpl(java.util.Map<java.lang.String,java.lang.String> originalKeys)
AbstractPrimitivekeysChangedImpl in class OsmPrimitivepublic boolean concernsArea()
OsmPrimitiveconcernsArea in class OsmPrimitivetrue if this primitive semantically concerns an area, according to its type, geometry and tags, false otherwise.public boolean isOutsideDownloadArea()
OsmPrimitiveDataSet.isOutsideDownloadArea in class OsmPrimitivetrue if this primitive lies outside of the downloaded areapublic java.util.Set<java.lang.String> getMemberRoles()