org.openstreetmap.josm.data.osm
Class RelationMember

java.lang.Object
  extended by org.openstreetmap.josm.data.osm.RelationMember
All Implemented Interfaces:
PrimitiveId

public class RelationMember
extends java.lang.Object
implements PrimitiveId

A linkage class that can be used by an relation to keep a list of members. Since membership may be qualified by a "role", a simple list is not sufficient.


Field Summary
private  OsmPrimitive member
           
private  java.lang.String role
           
 
Constructor Summary
RelationMember(RelationMember other)
          Copy constructor.
RelationMember(java.lang.String role, OsmPrimitive member)
           
 
Method Summary
 boolean equals(java.lang.Object obj)
           
 OsmPrimitiveType getDisplayType()
           
 OsmPrimitive getMember()
           
 Node getNode()
           
 Relation getRelation()
           
 java.lang.String getRole()
           
 OsmPrimitiveType getType()
          PrimitiveId implementation.
 long getUniqueId()
          PrimitiveId implementation.
 Way getWay()
           
 int hashCode()
           
 boolean hasRole()
           
 boolean isNew()
          Replies true if this id represents a new primitive.
 boolean isNode()
           
 boolean isRelation()
           
 boolean isWay()
           
 boolean refersTo(OsmPrimitive primitive)
          Replies true, if this relation member refers to the primitive
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

role

private final java.lang.String role

member

private final OsmPrimitive member
Constructor Detail

RelationMember

public RelationMember(java.lang.String role,
                      OsmPrimitive member)
               throws java.lang.IllegalArgumentException
Parameters:
role - Can be null, in this case it's save as ""
member - Cannot be null
Throws:
java.lang.IllegalArgumentException

RelationMember

public RelationMember(RelationMember other)
Copy constructor. This constructor is left only for backwards compatibility. Copying RelationMember doesn't make sense because it's immutable

Parameters:
other - relation member to be copied.
Method Detail

getRole

public java.lang.String getRole()
Returns:
Role name or "". Never returns null
Since:
1930

hasRole

public boolean hasRole()
Returns:
True if role is set
Since:
1930

isRelation

public boolean isRelation()
Returns:
True if member is relation
Since:
1937

isWay

public boolean isWay()
Returns:
True if member is way
Since:
1937

getDisplayType

public OsmPrimitiveType getDisplayType()
Returns:
type of member for icon display
Since:
3844

isNode

public boolean isNode()
Returns:
True if member is node
Since:
1937

getRelation

public Relation getRelation()
Returns:
Member as relation
Since:
1937

getWay

public Way getWay()
Returns:
Member as way
Since:
1937

getNode

public Node getNode()
Returns:
Member as node
Since:
1937

getMember

public OsmPrimitive getMember()
Returns:
Member. Returned value is never null.
Since:
1937

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

refersTo

public boolean refersTo(OsmPrimitive primitive)
Replies true, if this relation member refers to the primitive

Parameters:
primitive - the primitive to check
Returns:
true, if this relation member refers to the primitive

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object

equals

public boolean equals(java.lang.Object obj)
Overrides:
equals in class java.lang.Object

getType

public OsmPrimitiveType getType()
PrimitiveId implementation. Returns the same value as getMember().getType()

Specified by:
getType in interface PrimitiveId
Returns:
the object type
See Also:
Node, Way, Relation

getUniqueId

public long getUniqueId()
PrimitiveId implementation. Returns the same value as getMemberType().getUniqueId()

Specified by:
getUniqueId in interface PrimitiveId
Returns:
the id number

isNew

public boolean isNew()
Description copied from interface: PrimitiveId
Replies true if this id represents a new primitive.

Specified by:
isNew in interface PrimitiveId
Returns:
true if this id represents a new primitive.


JOSM