Package com.dna.jopt.member.bucket.route
Interface ILogicEntityRoute
- All Superinterfaces:
Cloneable
,Serializable
- All Known Implementing Classes:
LogicEntityRoute
This Interface provides the methods to get information about certain
Route
IOptimizationElements
like the INodes
, the IResource
, getting the IDutyHours
and much more.
IEntityInvokedOperatorController- Since:
- 08/08/2018
- Version:
- 13/02/2020
- Author:
- DNA
-
Method Summary
Modifier and TypeMethodDescriptionboolean
addAllToNoneOptimizableElements
(List<IOptimizationElement> routeOptimizableElements) boolean
addAllToOptimizableElements
(int index, List<? extends IOptimizationElement> addList) boolean
addAllToOptimizableElements
(List<? extends IOptimizationElement> addList) boolean
void
addFlag
(LogicEntityRouteFlag flag) void
void
addOptimizableElement
(IOptimizationElement element, int index) void
addOptionalOptimizableElement
(IOptimizationElement optionalElement) void
addRoutePillar
(IPillarNode pillar) void
addRoutePillar
(IPillarNode pillar, int index) void
addRoutePillars
(List<IPillarNode> pillars) void
void
void
void
copy()
getConnectionHook
(String toId) Gets theIResource
that is visiting thisRoute
.int
long
long
getElement
(String id, boolean ignoreStartEnd) getFlags()
double
double
Gets theListIterator
for theNoneOptimizableElements
.Gets theListIterator
for theoptimizable Elements
.getOptimizableElementsSubList
(int fromIndex, int toIndex) long
long
long
long
Map<Class<? extends IQualification>,
IQualification> Returns theLogicEntityRoute.currentRouteDutyHours
of thisLogicEntityRoute
.int
getRouteOptimizableElement
(int index) int
Gets theIOptimizationElement
where theRoute
starts.long
Gets theRoute
start time in milliseconds since 01.01.1970.long
Gets theIOptimizationElement
where theRoute
will end.long
double
boolean
boolean
boolean
boolean
boolean
hasSameElementsStructure
(ILogicEntityRoute compareRoute) boolean
hasSameElementsStructureIgnorePillars
(ILogicEntityRoute compareRoute, boolean doIgnorePillars) void
void
initRouteWorkingHours
(IDutyHours fakeHours) boolean
Returns whetherLogicEntityRoute.getCurrentWorkingHours()
is closed or not.boolean
boolean
boolean
boolean
boolean
boolean
boolean
boolean
boolean
void
long
putEffectivePillarLatestArrivalOffset
(IPillarNode p, Long valueMillis) boolean
removeAllFromOptimizableElements
(List<? extends IOptimizationElement> removeList) boolean
removeOptimizableElement
(int index) removeRoutePillar
(int index) removeRoutePillar
(IPillarNode pillar) void
removeRoutePillars
(List<IPillarNode> pillars) void
setAdditionalRouteStartOffset
(Optional<Long> offsetMillisOpt) void
setCurrentVisitingResource
(IResource res, int workingHourIndex) void
setCurrentVisitingResourceWorkingHoursIndex
(int index) void
setEffectivePillarLatestArrivalMap
(Map<String, Long> effectivePillarLatestArrivalMap) void
setEffectivePillarLatestArrivalOffsetMap
(Map<String, Long> effectivePillarLatestArrivalOffsetMap) void
setFirstGeoElementWithinRoute
(IOptimizationElement firstGeoLocationElementWithinRoute) void
setIsInactive
(boolean isInactive) void
setIsLockedDown
(boolean isLockedDown) void
setIsScheduled
(boolean isScheduled) void
setIsUnassessed
(boolean isUnassessed) void
setLastGeoElementWithinRoute
(IOptimizationElement lastGeoLocationElementWithinRoute) void
setLastLockdownStopTime
(Optional<Long> lastLockdownStopTime) void
void
setRequestElementDetails
(boolean requestDetails) Setsresult requested
resulting in theILogicRouteElementDetailItem
being saved and being accessable afterwards.void
setRouteClusterController
(IClusterController routeClusterController) void
void
setRouteId
(int routeId) void
void
setRouteOptimizableElements
(List<IOptimizationElement> elements) Sets theIOptimizationElements
.This method should NOT used directly only together with copy.void
void
setRoutePillars
(List<IPillarNode> pillars) void
setRouteStart
(IOptimizationElement startItem) SetsIOptimizationElement
where the route will start.void
setRouteTermination
(IOptimizationElement terminationItem) Sets theIOptimizationElement
where theRoute
will end.toString()
-
Method Details
-
getOptimizableElementIterator
ListIterator<IOptimizationElement> getOptimizableElementIterator()Gets theListIterator
for theoptimizable Elements
.- Returns:
- the iterator
-
getNoneOptimizableElementIterator
ListIterator<IOptimizationElement> getNoneOptimizableElementIterator()Gets theListIterator
for theNoneOptimizableElements
.- Returns:
- the iterator
-
getRouteOptimizableElement
- Parameters:
index
- the int index- Returns:
- the Element
-
getRouteOptimizableElements
List<IOptimizationElement> getRouteOptimizableElements()- Returns:
- the list of
Elements
-
setRouteOptimizableElements
Sets theIOptimizationElements
.This method should NOT used directly only together with copy.- Parameters:
elements
- the new route elements
-
getCurrentVisitingResource
IResource getCurrentVisitingResource()Gets theIResource
that is visiting thisRoute
.- Returns:
- the object
IResource
-
getCurrentVisitingResourceWorkingHoursIndex
int getCurrentVisitingResourceWorkingHoursIndex()- Returns:
- the index
-
getRouteTermination
IOptimizationElement getRouteTermination()Gets theIOptimizationElement
where theRoute
will end.If
Route
termination has not been overwritten it will be at the location of theIResource
or at anone night stay Node
. IfRoute termination
has been overwritten it will be at theanchorNode
.- Returns:
- the
Element
where theRoute
terminates
-
setRouteTermination
Sets theIOptimizationElement
where theRoute
will end.- Parameters:
terminationItem
- the iOptimizationElement
-
getRouteStart
IOptimizationElement getRouteStart()Gets theIOptimizationElement
where theRoute
starts.- Returns:
- the start of the
Route
-
setRouteStart
SetsIOptimizationElement
where the route will start.- Parameters:
startItem
- the iOptimizationElement where the route has to start
-
getRouteStartTime
long getRouteStartTime()Gets theRoute
start time in milliseconds since 01.01.1970.- Returns:
- the milliseconds since
Route
start
-
addOptimizableElement
- Parameters:
element
- iOptimizationElement to add
-
addOptimizableElement
-
removeOptimizableElement
-
removeOptimizableElement
-
setCurrentVisitingResource
-
removeAllFromOptimizableElements
-
getRouteCostAndViolationController
ILogicRouteCostAndViolationController getRouteCostAndViolationController() -
getRouteElementsDetailController
ILogicRouteElementDetailController getRouteElementsDetailController() -
getJoinedDetailController
IJoinedRouteDetailController getJoinedDetailController() -
toString
String toString() -
getRouteId
int getRouteId() -
getRouteOptimizableElementCount
int getRouteOptimizableElementCount() -
isUnassessed
boolean isUnassessed() -
setIsUnassessed
void setIsUnassessed(boolean isUnassessed) -
getOptimizableElementsSubList
-
addAllToOptimizableElements
-
addAllToOptimizableElements
-
copy
ILogicEntityRoute copy() -
setCurrentVisitingResourceWorkingHoursIndex
void setCurrentVisitingResourceWorkingHoursIndex(int index) -
setRouteId
void setRouteId(int routeId) -
clearOptimizableElements
void clearOptimizableElements() -
clearNoneOptimizableElements
void clearNoneOptimizableElements() -
isLastOptimizableElementInRoute
-
isFirstOptimizableElementInRoute
-
addRoutePillar
-
hasRoutePillars
boolean hasRoutePillars() -
getRoutePillars
List<IPillarNode> getRoutePillars() -
getRouteDutyHours
IDutyHours getRouteDutyHours()Returns theLogicEntityRoute.currentRouteDutyHours
of thisLogicEntityRoute
.- Returns:
- the
LogicEntityRoute.currentRouteDutyHours
-
initRouteWorkingHours
void initRouteWorkingHours() -
setRoutePillars
-
setRequestElementDetails
void setRequestElementDetails(boolean requestDetails) Setsresult requested
resulting in theILogicRouteElementDetailItem
being saved and being accessable afterwards. This will seen by the cost assessor. After one request theILogicEntityRoute
automatically is set back to no request.- Parameters:
requestDetails
- the boolean whether theILogicRouteElementDetailItem
should be saved
-
isRequestElementDetails
boolean isRequestElementDetails() -
isFinalized
boolean isFinalized() -
getRouteNoneOptimizableElements
List<IOptimizationElement> getRouteNoneOptimizableElements() -
setRouteNoneOptimizableElements
-
addAllToNoneOptimizableElements
-
addRoutePillars
-
getRouteStopTime
long getRouteStopTime() -
removeRoutePillar
-
getEffectiveRouteStartTime
long getEffectiveRouteStartTime() -
getEffectiveRouteStopTime
long getEffectiveRouteStopTime() -
getMaxWorkingHours
double getMaxWorkingHours() -
getMaxDistanceKilometer
double getMaxDistanceKilometer() -
addRoutePillar
-
setEffectivePillarLatestArrivalMap
-
getPillarLatestEffectiveArrival
-
isScheduled
boolean isScheduled() -
setIsScheduled
void setIsScheduled(boolean isScheduled) -
removeRoutePillars
-
clearRoutePillars
void clearRoutePillars() -
setRouteCostAndViolationController
-
addOptionalOptimizableElement
-
hasSameElementsStructure
-
setRouteOptionalOptimizableElements
-
getRouteOptionalOptimizableElements
List<IOptimizationElement> getRouteOptionalOptimizableElements() -
addAllToOptionalOptimizableElements
-
hasSameElementsStructureIgnorePillars
boolean hasSameElementsStructureIgnorePillars(ILogicEntityRoute compareRoute, boolean doIgnorePillars) -
removeRoutePillar
-
isClosedRoute
boolean isClosedRoute()Returns whetherLogicEntityRoute.getCurrentWorkingHours()
is closed or not.- Returns:
- boolean, default value
false
. Returnstrue
ifIWorkingHours.isClosedRoute()
has been set totrue
by usingIWorkingHours.setIsClosedRoute(boolean)
.
-
markAsToBeRemoved
void markAsToBeRemoved() -
isMarkedToBeRemoved
boolean isMarkedToBeRemoved() -
getRouteTimeMillis
long getRouteTimeMillis() -
getMaxRouteStartReductionTimeMillis
-
getMaxRouteStartReductionTimeMillisPillar
-
isReductionTimeIncludedInWorkingTime
-
isReductionTimeOnlyUsedForDriving
-
isReductionTimeOnlyUsedForDrivingPillar
-
getFlexTimeMillis
-
getMaxPillarAfterHoursTime
-
getTotalRouteDistanceMeter
double getTotalRouteDistanceMeter() -
getMaxFreePostWorkDrivingTerminationTimeMillis
-
hasOverriddenRouteStart
boolean hasOverriddenRouteStart() -
hasOverriddenRouteTermination
boolean hasOverriddenRouteTermination() -
initRouteWorkingHours
-
getPillarLatestEffectiveOffsetArrival
-
putEffectivePillarLatestArrivalOffset
-
getPillarEffectiveLatestArrivalMinusStartMillis
-
getPillarLatestEffectiveArrivalOffsetCorrected
-
setEffectivePillarLatestArrivalOffsetMap
-
getEffectivePillarLatestArrivalOffsetMap
-
clearOptionalOptimizableElements
void clearOptionalOptimizableElements() -
getQualifications
Map<Class<? extends IQualification>,IQualification> getQualifications() -
addFlag
-
getFlags
List<LogicEntityRouteFlag> getFlags() -
setFirstGeoElementWithinRoute
-
setLastGeoElementWithinRoute
-
getFirstGeoElementWithinRoute
IOptimizationElement getFirstGeoElementWithinRoute() -
getLastGeoElementWithinRoute
IOptimizationElement getLastGeoElementWithinRoute() -
getAllElements
List<IOptimizationElement> getAllElements() -
setIsInactive
void setIsInactive(boolean isInactive) -
isInactive
boolean isInactive() -
setIsLockedDown
void setIsLockedDown(boolean isLockedDown) -
isLockedDown
boolean isLockedDown() -
getLoadController
ILoadController getLoadController() -
setLoadController
-
getResourceDepot
Optional<IResourceDepot> getResourceDepot() -
getEffectivePillarLatestArrivalMap
-
getRouteOptimizableElementsIncludingSubsequentNodes
List<IOptimizationElement> getRouteOptimizableElementsIncludingSubsequentNodes() -
removeAllFromOptimizableElementsInlcudingSubsequentNodes
boolean removeAllFromOptimizableElementsInlcudingSubsequentNodes(List<IOptimizationElement> removeList) -
getRouteClusterController
IClusterController getRouteClusterController() -
setRouteClusterController
-
getRouteStartShiftMillisHook
-
getConnectionHook
-
isOnlyApplyFreePostWorkDrivingOnOvertime
-
getElement
-
hasNode
-
getLastLockdownStopTime
-
setLastLockdownStopTime
-
setAdditionalRouteStartOffset
-
getAdditionalRouteStartOffset
-
getAllNodes
Set<IOptimizationElement> getAllNodes()
-