// License: GPL. For details, see LICENSE file. package org.openstreetmap.josm.plugins.graphview.core.graph; import java.util.Collection; import org.openstreetmap.josm.plugins.graphview.core.property.GraphEdgePropertyType; /** * directed connection between two nodes in a {@link WayGraph} */ public interface GraphEdge { /** returns the node this edge starts at; != null */ GraphNode getStartNode(); /** returns the node this edge leads to; != null */ GraphNode getTargetNode(); /** returns all property types for which property values are available */ Collection<GraphEdgePropertyType<?>> getAvailableProperties(); /** TODO */ <V> V getPropertyValue(GraphEdgePropertyType<V> property); }