Package org.goplanit.utils.zoning
Interface DirectedConnectoid
-
- All Superinterfaces:
Comparable<IdAble>,Connectoid,ExternalIdAble,IdAble,Iterable<Zone>,ManagedId
- All Known Implementing Classes:
DirectedConnectoidImpl
public interface DirectedConnectoid extends Connectoid
A directed connectoid is referring to an access edge segment in a network (layer) which is directed for access hence, the connectoid also being directed. It is used in situations where not all segments connected to the access node may be available to access the connectoid- Author:
- markr
-
-
Field Summary
Fields Modifier and Type Field Description static booleanDEFAULT_NODE_ACCESS_DOWNSTREAMdefault node access is set to the downstream end of a link segmentstatic Class<DirectedConnectoid>DIRECTED_CONNECTOID_ID_CLASSthe class to use for the additional directed connectoid id generation-
Fields inherited from interface org.goplanit.utils.zoning.Connectoid
CONNECTOID_ID_CLASS, DEFAULT_CONNECTOID_TYPE, DEFAULT_LENGTH_KM
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description DirectedConnectoiddeepClone()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.LinkSegmentgetAccessLinkSegment()The edge segment that provides accessdefault NodegetAccessNode()Based on the edge segment and the location (upstream/downstream) of the access point, collect the access nodelonggetDirectedConnectoidId()Collect the directed connectoid iddefault Class<DirectedConnectoid>getDirectedConnectoidIdClass()the class for directed connectoid id generationdefault booleanhasAccessLinkSegment()Verify if an access link segment is presentbooleanisNodeAccessDownstream()determine if the node access is downstream or notvoidreplaceAccessLinkSegment(LinkSegment accessEdgeSegment)Replace the access link segment for this connectoidvoidsetNodeAccessDownstream(boolean nodeAccessDownstream)set if the node access is downstream or notDirectedConnectoidshallowClone()Create a shallow copy of this entity-
Methods inherited from interface org.goplanit.utils.zoning.Connectoid
addAccessZone, addAllAccessZones, addAllowedMode, addAllowedModes, addAllowedModes, getAccessVertex, getAccessZones, getExplicitlyAllowedModes, getFirstAccessZone, getIdClass, getLengthKm, getName, getNumberOfAccessZones, getType, hasAccessZone, hasAccessZones, hasExplicitlyAllowedModes, hasLength, hasName, isAllModesAllowed, isModeAllowed, setLength, setName, setType
-
Methods inherited from interface org.goplanit.utils.id.ExternalIdAble
appendExternalId, appendExternalId, getExternalId, getIdsAsString, getSplitExternalId, getSplitExternalId, getXmlId, hasExternalId, hasXmlId, setExternalId, setXmlId, setXmlId
-
Methods inherited from interface org.goplanit.utils.id.IdAble
compareTo, getId, idEquals, idHashCode
-
Methods inherited from interface java.lang.Iterable
forEach, iterator, spliterator
-
Methods inherited from interface org.goplanit.utils.id.ManagedId
recreateManagedIds, resetChildManagedIdEntities
-
-
-
-
Field Detail
-
DIRECTED_CONNECTOID_ID_CLASS
static final Class<DirectedConnectoid> DIRECTED_CONNECTOID_ID_CLASS
the class to use for the additional directed connectoid id generation
-
DEFAULT_NODE_ACCESS_DOWNSTREAM
static final boolean DEFAULT_NODE_ACCESS_DOWNSTREAM
default node access is set to the downstream end of a link segment- See Also:
- Constant Field Values
-
-
Method Detail
-
getDirectedConnectoidId
long getDirectedConnectoidId()
Collect the directed connectoid id- Returns:
- directed connectoid id
-
shallowClone
DirectedConnectoid shallowClone()
Create a shallow copy of this entity- Specified by:
shallowClonein interfaceConnectoid- Specified by:
shallowClonein interfaceIdAble- Returns:
- shallow copy of entity
-
deepClone
DirectedConnectoid 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- Specified by:
deepClonein interfaceConnectoid- Specified by:
deepClonein interfaceIdAble- Returns:
- deep copy of entity
-
getAccessLinkSegment
LinkSegment getAccessLinkSegment()
The edge segment that provides access- Returns:
- access edge segment
-
replaceAccessLinkSegment
void replaceAccessLinkSegment(LinkSegment accessEdgeSegment)
Replace the access link segment for this connectoid- Parameters:
accessEdgeSegment- to use
-
setNodeAccessDownstream
void setNodeAccessDownstream(boolean nodeAccessDownstream)
set if the node access is downstream or not- Parameters:
nodeAccessDownstream- true to set it downstream, false otherwise
-
isNodeAccessDownstream
boolean isNodeAccessDownstream()
determine if the node access is downstream or not- Returns:
- true when downstream, false otherwise, i.e., upstream
-
getDirectedConnectoidIdClass
default Class<DirectedConnectoid> getDirectedConnectoidIdClass()
the class for directed connectoid id generation- Returns:
- class to use
-
getAccessNode
default Node getAccessNode()
Based on the edge segment and the location (upstream/downstream) of the access point, collect the access node- Returns:
- accessNode to use
-
hasAccessLinkSegment
default boolean hasAccessLinkSegment()
Verify if an access link segment is present- Returns:
- true when present, false otherwise
-
-