// License: GPL. For details, see LICENSE file.
package org.openstreetmap.josm.plugins.graphview.core.graph;
import java.util.Collection;
/**
* graph representing OSM ways purely as nodes and directed edges
*/
public interface WayGraph {
Collection<GraphNode> getNodes();
Collection<GraphEdge> getEdges();
/**
* adds an observer.
* Does nothing if the parameter is already an observer of this WayGraph.
*
* @param observer observer object, != null
*/
void addObserver(WayGraphObserver observer);
/**
* deletes an observer that has been added using {@link #addObserver(WayGraphObserver)}.
* Does nothing if the parameter isn't currently an observer of this WayGraph.
*
* @param observer observer object, != null
*/
void deleteObserver(WayGraphObserver observer);
}