Package org.planit.graph
Interface DirectedGraphBuilder<V extends DirectedVertex,E extends Edge,ES extends EdgeSegment>
-
- All Superinterfaces:
GraphBuilder<V,E>
- All Known Subinterfaces:
MacroscopicPhysicalNetworkBuilder<N,L,MLS>
,PhysicalNetworkBuilder<N,L,LS>
- All Known Implementing Classes:
DirectedGraphBuilderImpl
,MacroscopicPhysicalNetworkBuilderImpl
,PhysicalNetworkBuilderImpl
public interface DirectedGraphBuilder<V extends DirectedVertex,E extends Edge,ES extends EdgeSegment> extends GraphBuilder<V,E>
Build network elements based on chosen network view. Implementations are registered on the network class which uses it to construct network elements- Author:
- markr
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description ES
createEdgeSegment(DirectedEdge parentEdge, boolean directionAB)
Create a new physical link segment instanceES
createUniqueCopyOf(ES edgeSegmentToCopy, DirectedEdge newParentEdge)
Create a unique copy of the passed in edge segment.void
recreateIds(EdgeSegments<? extends ES> edgeSegments)
recreate the ids for all passed in edge segments-
Methods inherited from interface org.planit.graph.GraphBuilder
createEdge, createUniqueCopyOf, createVertex, getIdGroupingToken, recreateIds, recreateIds, setIdGroupingToken
-
-
-
-
Method Detail
-
createEdgeSegment
ES createEdgeSegment(DirectedEdge parentEdge, boolean directionAB) throws PlanItException
Create a new physical link segment instance- Parameters:
parentEdge
- the parent edge of the edge segmentdirectionAB
- direction of travel- Returns:
- edgeSegment the created edge segment
- Throws:
PlanItException
- thrown if error
-
recreateIds
void recreateIds(EdgeSegments<? extends ES> edgeSegments)
recreate the ids for all passed in edge segments- Parameters:
edgeSegments
- to recreate ids for
-
createUniqueCopyOf
ES createUniqueCopyOf(ES edgeSegmentToCopy, DirectedEdge newParentEdge)
Create a unique copy of the passed in edge segment. All members are copied as is, except for its ids which are created uniquely created so it remains identifiable, also the parent edge is updated if required- Parameters:
edgeSegmentToCopy
- edge segment to copynewParentEdge
- use this as the new parent edge- Returns:
- created copy
-
-