// License: GPL. For details, see LICENSE file. package org.openstreetmap.josm.plugins.graphview.core.property; import java.util.List; import org.openstreetmap.josm.plugins.graphview.core.graph.ConnectorEvaluationGroup; import org.openstreetmap.josm.plugins.graphview.core.graph.JunctionEvaluationGroup; import org.openstreetmap.josm.plugins.graphview.core.transition.Segment; import org.openstreetmap.josm.plugins.graphview.core.transition.TransitionStructure; /** * the series of segments that are represented by a GraphEdge. Requesting this * property for the graph that is being constructed will preserve information * from the {@link TransitionStructure}. * * TODO: for some purposes, segments are not needed (only coordinate lists; * without properties etc.) */ public final class GraphEdgeSegments implements GraphEdgePropertyType<List<Segment>> { public static final GraphEdgeSegments PROPERTY = new GraphEdgeSegments(); /** * private constructor to make sure that {@link #INSTANCE} is the only instance */ private GraphEdgeSegments() { } @Override public List<Segment> evaluate(JunctionEvaluationGroup junctionGroup, List<Segment> segmentSequence, TransitionStructure transitionStructure) { return segmentSequence; } @Override public List<Segment> evaluate(ConnectorEvaluationGroup connectorGroup, List<Segment> segmentSequence, TransitionStructure transitionStructure) { return segmentSequence; } }