Package org.goplanit.graph.directed
Class ConjugateDirectedGraphImpl<V extends ConjugateDirectedVertex,E extends ConjugateDirectedEdge,ES extends ConjugateEdgeSegment>
- java.lang.Object
-
- org.goplanit.utils.id.IdAbleImpl
-
- org.goplanit.graph.UntypedGraphImpl<V,E>
-
- org.goplanit.graph.directed.UntypedDirectedGraphImpl<V,E,ES>
-
- org.goplanit.graph.directed.ConjugateDirectedGraphImpl<V,E,ES>
-
- All Implemented Interfaces:
Comparable<IdAble>
,DirectedGraph<V,E,ES>
,UntypedDirectedGraph<V,E,ES>
,UntypedGraph<V,E>
,IdAble
,ManagedId
public class ConjugateDirectedGraphImpl<V extends ConjugateDirectedVertex,E extends ConjugateDirectedEdge,ES extends ConjugateEdgeSegment> extends UntypedDirectedGraphImpl<V,E,ES> implements DirectedGraph<V,E,ES>
A conjugate directed graph implementation consisting of conjugate directed vertices, conjugate directed edges and conjugate edge segments- Author:
- markr
-
-
Field Summary
-
Fields inherited from class org.goplanit.graph.directed.UntypedDirectedGraphImpl
edgeSegments
-
Fields inherited from class org.goplanit.graph.UntypedGraphImpl
edges, vertices
-
Fields inherited from interface org.goplanit.utils.graph.UntypedGraph
GRAPH_ID_CLASS
-
-
Constructor Summary
Constructors Constructor Description ConjugateDirectedGraphImpl(ConjugateDirectedGraphImpl<V,E,ES> other, boolean deepCopy, GraphEntityDeepCopyMapper<V> conjVertexMapper, GraphEntityDeepCopyMapper<E> conjEdgeMapper, GraphEntityDeepCopyMapper<ES> conjEdgeSegmentMapper)
Copy constructorConjugateDirectedGraphImpl(IdGroupingToken groupToken, GraphEntities<V> conjugateVertices, GraphEntities<E> conjugateEdges, GraphEntities<ES> conjugateEdgeSegments)
DirectedGraph Constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ConjugateDirectedGraphImpl<V,E,ES>
deepClone()
An id entity should always support a deep copy, i.e., all "owned" members will be deep copied when a clone of this instance is created via this call.ConjugateDirectedGraphImpl<V,E,ES>
shallowClone()
Create a shallow copy of this entity-
Methods inherited from class org.goplanit.graph.directed.UntypedDirectedGraphImpl
getEdgeSegments, smartDeepClone
-
Methods inherited from class org.goplanit.graph.UntypedGraphImpl
generatedGraphId, getEdges, getGraphIdGroupingToken, getIdClass, getVertices, recreateManagedIds, smartDeepClone
-
Methods inherited from class org.goplanit.utils.id.IdAbleImpl
equals, generateAndSetId, generateId, getId, hashCode, setId
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.goplanit.utils.id.IdAble
compareTo, getId, idEquals, idHashCode
-
Methods inherited from interface org.goplanit.utils.id.ManagedId
getIdClass, recreateManagedIds, resetChildManagedIdEntities
-
Methods inherited from interface org.goplanit.utils.graph.UntypedDirectedGraph
getEdgeSegments, isEmpty, validate
-
Methods inherited from interface org.goplanit.utils.graph.UntypedGraph
getEdges, getVertices, transformGeometries
-
-
-
-
Constructor Detail
-
ConjugateDirectedGraphImpl
public ConjugateDirectedGraphImpl(IdGroupingToken groupToken, GraphEntities<V> conjugateVertices, GraphEntities<E> conjugateEdges, GraphEntities<ES> conjugateEdgeSegments)
DirectedGraph Constructor- Parameters:
groupToken
- contiguous id generation within this group for instances of this classconjugateVertices
- to useconjugateEdges
- to useconjugateEdgeSegments
- to use
-
ConjugateDirectedGraphImpl
public ConjugateDirectedGraphImpl(ConjugateDirectedGraphImpl<V,E,ES> other, boolean deepCopy, GraphEntityDeepCopyMapper<V> conjVertexMapper, GraphEntityDeepCopyMapper<E> conjEdgeMapper, GraphEntityDeepCopyMapper<ES> conjEdgeSegmentMapper)
Copy constructor- Parameters:
other
- to copydeepCopy
- when true, create a deep copy, shallow copy otherwiseconjVertexMapper
- tracking how original vertices are mapped to new vertices in case of deep copyconjEdgeMapper
- tracking how original edges are mapped to new edges in case of deep copyconjEdgeSegmentMapper
- tracking how original edge segments are mapped to new edge segments in case of deep copy
-
-
Method Detail
-
shallowClone
public ConjugateDirectedGraphImpl<V,E,ES> shallowClone()
Create a shallow copy of this entity- Specified by:
shallowClone
in interfaceIdAble
- Specified by:
shallowClone
in interfaceUntypedDirectedGraph<V extends ConjugateDirectedVertex,E extends ConjugateDirectedEdge,ES extends ConjugateEdgeSegment>
- Specified by:
shallowClone
in interfaceUntypedGraph<V extends ConjugateDirectedVertex,E extends ConjugateDirectedEdge>
- Overrides:
shallowClone
in classUntypedDirectedGraphImpl<V extends ConjugateDirectedVertex,E extends ConjugateDirectedEdge,ES extends ConjugateEdgeSegment>
- Returns:
- shallow copy of entity
-
deepClone
public ConjugateDirectedGraphImpl<V,E,ES> deepClone()
An id entity should always support a deep copy, i.e., all "owned" members will be deep copied when a clone of this instance is created via this call. To be used with caution if not called by managed id container related code for conjugate graphs a deep copy also updates known interdependencies between its internal entities- Specified by:
deepClone
in interfaceIdAble
- Specified by:
deepClone
in interfaceUntypedDirectedGraph<V extends ConjugateDirectedVertex,E extends ConjugateDirectedEdge,ES extends ConjugateEdgeSegment>
- Specified by:
deepClone
in interfaceUntypedGraph<V extends ConjugateDirectedVertex,E extends ConjugateDirectedEdge>
- Overrides:
deepClone
in classUntypedDirectedGraphImpl<V extends ConjugateDirectedVertex,E extends ConjugateDirectedEdge,ES extends ConjugateEdgeSegment>
- Returns:
- deep copy of entity
-
-