org.openstreetmap.osmosis.core.domain.v0_5
Class Way

java.lang.Object
  extended by org.openstreetmap.osmosis.core.domain.v0_5.Entity
      extended by org.openstreetmap.osmosis.core.domain.v0_5.Way
All Implemented Interfaces:
java.lang.Comparable<Way>, Storeable

public class Way
extends Entity
implements java.lang.Comparable<Way>

A data class representing a single OSM way.

Author:
Brett Henderson

Constructor Summary
Way(long id, java.util.Date timestamp, OsmUser user)
          Creates a new instance.
Way(long id, TimestampContainer timestampContainer, OsmUser user)
          Creates a new instance.
Way(StoreReader sr, StoreClassRegister scr)
          Creates a new instance.
 
Method Summary
 void addWayNode(WayNode wayNode)
          Adds a new way node.
 void addWayNodes(java.util.Collection<WayNode> wayNodes)
          Adds all node references in the collection to the node.
 int compareTo(Way comparisonWay)
          Compares this way to the specified way.
protected  int compareWayNodes(java.util.List<WayNode> comparisonWayNodeList)
          Compares this node list to the specified node list.
 boolean equals(java.lang.Object o)
          
 EntityType getType()
          Returns the specific data type represented by this entity.
 java.util.List<WayNode> getWayNodeList()
          Returns the attached list of way nodes.
 int hashCode()
          
 void store(StoreWriter sw, StoreClassRegister scr)
          Stores all state to the specified store writer.
 
Methods inherited from class org.openstreetmap.osmosis.core.domain.v0_5.Entity
addTag, addTags, compareTags, getFormattedTimestamp, getId, getTagList, getTimestamp, getUser
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Way

public Way(long id,
           java.util.Date timestamp,
           OsmUser user)
Creates a new instance.

Parameters:
id - The unique identifier.
timestamp - The last updated timestamp.
user - The user that last modified this entity.

Way

public Way(long id,
           TimestampContainer timestampContainer,
           OsmUser user)
Creates a new instance.

Parameters:
id - The unique identifier.
timestampContainer - The container holding the timestamp in an alternative timestamp representation.
user - The user that last modified this entity.

Way

public Way(StoreReader sr,
           StoreClassRegister scr)
Creates a new instance.

Parameters:
sr - The store to read state from.
scr - Maintains the mapping between classes and their identifiers within the store.
Method Detail

store

public void store(StoreWriter sw,
                  StoreClassRegister scr)
Stores all state to the specified store writer.

Specified by:
store in interface Storeable
Overrides:
store in class Entity
Parameters:
sw - The writer that persists data to an underlying store.
scr - Maintains the mapping between classes and their identifiers within the store.

getType

public EntityType getType()
Returns the specific data type represented by this entity.

Specified by:
getType in class Entity
Returns:
The entity type enum value.

equals

public boolean equals(java.lang.Object o)

Overrides:
equals in class java.lang.Object

hashCode

public int hashCode()

Overrides:
hashCode in class java.lang.Object

compareWayNodes

protected int compareWayNodes(java.util.List<WayNode> comparisonWayNodeList)
Compares this node list to the specified node list. The comparison is based on a direct comparison of the node ids.

Parameters:
comparisonWayNodeList - The node list to compare to.
Returns:
0 if equal, < 0 if considered "smaller", and > 0 if considered "bigger".

compareTo

public int compareTo(Way comparisonWay)
Compares this way to the specified way. The way comparison is based on a comparison of id, timestamp, wayNodeList and tags in that order.

Specified by:
compareTo in interface java.lang.Comparable<Way>
Parameters:
comparisonWay - The way to compare to.
Returns:
0 if equal, < 0 if considered "smaller", and > 0 if considered "bigger".

getWayNodeList

public java.util.List<WayNode> getWayNodeList()
Returns the attached list of way nodes. The returned list is read-only.

Returns:
The wayNodeList.

addWayNode

public void addWayNode(WayNode wayNode)
Adds a new way node.

Parameters:
wayNode - The way node to add.

addWayNodes

public void addWayNodes(java.util.Collection<WayNode> wayNodes)
Adds all node references in the collection to the node.

Parameters:
wayNodes - The collection of node references to be added.