org.openstreetmap.josm.plugins.graphview.core.data
Interface DataSource<N,W,R,M>

Type Parameters:
N - node type
W - way type
R - relation type
All Known Implementing Classes:
OSMFileDataSource

public interface DataSource<N,W,R,M>

source of OSM data that can be used to build graphs from


Method Summary
 void addObserver(DataSourceObserver observer)
          adds an observer.
 void deleteObserver(DataSourceObserver observer)
          deletes an observer that has been added using addObserver(DataSourceObserver).
 double getLat(N node)
          returns a node's latitude
 double getLon(N node)
          returns a node's longitude
 Object getMember(M member)
          returns a relation member's member object
 Iterable<M> getMembers(R relation)
          returns a relation's members
 Iterable<N> getNodes()
          returns all nodes
 Iterable<N> getNodes(W way)
          returns a way's nodes
 Iterable<R> getRelations()
          returns all relations
 String getRole(M member)
          returns a relation member's role
 TagGroup getTagsN(N node)
          returns a node's tags
 TagGroup getTagsR(R relation)
          returns a relation's tags
 TagGroup getTagsW(W way)
          returns a way's tags
 Iterable<W> getWays()
          returns all ways
 boolean isNMember(M member)
          returns whether a relation member is a node
 boolean isRMember(M member)
          returns whether a relation member is a relation
 boolean isWMember(M member)
          returns whether a relation member is a way
 

Method Detail

getNodes

Iterable<N> getNodes()
returns all nodes


getWays

Iterable<W> getWays()
returns all ways


getRelations

Iterable<R> getRelations()
returns all relations


getLat

double getLat(N node)
returns a node's latitude


getLon

double getLon(N node)
returns a node's longitude


getNodes

Iterable<N> getNodes(W way)
returns a way's nodes


getMembers

Iterable<M> getMembers(R relation)
returns a relation's members


getTagsN

TagGroup getTagsN(N node)
returns a node's tags


getTagsW

TagGroup getTagsW(W way)
returns a way's tags


getTagsR

TagGroup getTagsR(R relation)
returns a relation's tags


getRole

String getRole(M member)
returns a relation member's role


getMember

Object getMember(M member)
returns a relation member's member object


isNMember

boolean isNMember(M member)
returns whether a relation member is a node


isWMember

boolean isWMember(M member)
returns whether a relation member is a way


isRMember

boolean isRMember(M member)
returns whether a relation member is a relation


addObserver

void addObserver(DataSourceObserver observer)
adds an observer. Does nothing if the parameter is already an observer of this DataSource.

Parameters:
observer - observer object, != null

deleteObserver

void deleteObserver(DataSourceObserver observer)
deletes an observer that has been added using addObserver(DataSourceObserver). Does nothing if the parameter isn't currently an observer of this DataSource.

Parameters:
observer - observer object, != null