Class PillarTimeWindowGeoNode
java.lang.Object
com.dna.jopt.member.unit.AbstractOptimizationElement
com.dna.jopt.member.unit.node.AbstractNode
com.dna.jopt.member.unit.node.geo.TimeWindowGeoNode
com.dna.jopt.member.unit.node.geo.PillarTimeWindowGeoNode
- All Implemented Interfaces:
- IOptimizationElement,- IPillarTimeWindowGeoNode,- INode,- IPillarNode,- Serializable
A 
TimeWindowGeoNode which, if not reached in time, will be skipped entirely by
 unassigning it. PillarTimeWindowGeoNode(String, double, double, IOpeningHours, Duration)
 is the normal constructor. PillarTimeWindowGeoNode(String, double, double, IOpeningHours, Duration, boolean) includes the option that the work at the PillarTimeWindowGeoNode has
 to be done within the OpeningHours.- Since:
- 03/08/2019
- Version:
- 14/08/2019
- Author:
- DNA
- See Also:
- 
Nested Class SummaryNested classes/interfaces inherited from interface com.dna.jopt.member.unit.IOptimizationElementIOptimizationElement.OptimizationElementFlavour
- 
Field SummaryFields inherited from class com.dna.jopt.member.unit.AbstractOptimizationElementdutyHours
- 
Constructor SummaryConstructorsConstructorDescriptionPillarTimeWindowGeoNode(String nodeId, double latitude, double longitude, IOpeningHours openingHour) The constructor for thePillarTimeWindowGeoNode, which is aTimeWindowGeoNodethat if not reached in time, will be skipped entirely.PillarTimeWindowGeoNode(String nodeId, double latitude, double longitude, IOpeningHours openingHour, Duration visitDuration) The constructor for thePillarTimeWindowGeoNode, which is aTimeWindowGeoNodethat if not reached in time, will be skipped entirely.PillarTimeWindowGeoNode(String nodeId, double latitude, double longitude, IOpeningHours openingHour, Duration visitDuration, boolean isDutyHoursIncludeVisitDuration) The constructor for thePillarTimeWindowGeoNode, which is aTimeWindowGeoNodethat if not reached in time, will be skipped entirely.PillarTimeWindowGeoNode(String nodeId, com.dna.jopt.config.types.Position pos, IOpeningHours openingHour) PillarTimeWindowGeoNode(String nodeId, com.dna.jopt.config.types.Position pos, IOpeningHours openingHour, Duration visitDuration) PillarTimeWindowGeoNode(String nodeId, com.dna.jopt.config.types.Position pos, IOpeningHours openingHour, Duration visitDuration, boolean isDutyHoursIncludeVisitDuration) 
- 
Method SummaryModifier and TypeMethodDescriptionvoidaddConstraint(IConstraint constraint) Adds aconstraintwhich limits theResourcesthat can serve thisNodeto those that have the specificQualificationto do so.voidattachResource(IResource mandatoryVisitor) Attaching themandatoryVisitoras the visitingresourcewill be treated as ahard constraintif amandatoryVisitorwas set using this method.voidRemoves allIConstraint.voiddetachResourceConstraints(String resId) booleanGets theidof thePillarEventNode.attachedres, returnsnullif noresourcehas been attached.getConnectionRelatedLateMargin(long connectionMillis) Gets the connection related late margin.doubleGets the connection related margin factor.Gets the connection related max late margin.Gets the flavour which spells out the kind ofNodeof the element.booleanGets the last known as route start.booleaninthashCode()booleanChecks if is apply partial connection related late margin.booleanChecks if theNodeis protected from being filtered.booleanChecks if thisPillarwill automatically transform into ananchorNodeif it is the firstPillarand cannot be reached in time..booleanChecks if is do element shift connection related late margin.booleanChecksisForcedStayNode.booleanSomePillarsthat are scheduled are not actually jobs.booleanbooleanChecks if thePillaris anAnchorPillarin which case theRoutehas to start or and at saidAnchorPillar.booleanChecks if theILogicEntityRoutehas to end at thisAnchorNode.booleanChecks if the node is aisPillarNode.booleanChecks the state ofattachedres.booleanChecksisSchedulableOutsideWorkingsHoursEnd.booleanChecksisSchedulableOutsideWorkingsHoursStart.booleanChecksisTimeAdjustableAnchor.voidvoidsetAutoTransformable2StartAnchor(boolean isAutoTransformable2StartAnchor) When thisPillaris the first pillar and cannot be reached in time, it will automatically transform into ananchorNodeif set totrue.booleansetConnectionRelatedLateMargin(double connectionFator, Duration maxMargin, boolean shiftNode, boolean applyPartial) Sets the connection related late margin.voidsetIsForcedStayNode(boolean isForcedStayNode) SetsisForcedStayNodeandAbstractNode.isStayNodeto the input value.voidsetIsOnlyScheduledInCompany(boolean isOnlyScheduledInCompany) Sets thePillaronly to be visited of otherwork Nodesare scheduled that day.voidsetIsOverwritingRouteStart(boolean isOverwritingRouteStart, boolean isAdjustable) voidsetIsOverwritingRouteTermination(boolean isOverwritingRouteTermination, boolean isAdjustable) Sets thePillarto beanAnchorPillarat which theRoutehas to start or end.voidsetIsSchedulableOutsideWorkingHours(boolean isSchedulableOutsideWorkingsHoursStart, boolean isSchedulableOutsideWorkingsHoursEnd) Sets thePillarthat it has to be visited by aResourceoutside of herWorkingHoursifIResource.setMaxPillarAfterHoursTime(Duration)is also set totrue.Methods inherited from class com.dna.jopt.member.unit.node.geo.TimeWindowGeoNodehasRealGeoLocationMethods inherited from class com.dna.jopt.member.unit.node.AbstractNodeaddNode2NodeRelation, addQualification, addSubsequentSlaveNode, addSubsequentSlaveNodes, addViolation, decrementCurrentAutoFilterProtectedExecutions, detachNodeRelations, getAutoFilterViolationCollector, getBaseJointVisitDuration, getBaseJointVisitDurationMillis, getBaseVisitDuration, getBaseVisitDurationMillis, getConstraints, getCurrentLeftAutoFilterProtectedExecutions, getDutyHours, getFirstNodeInRouteImportance, getFixCost, getImportance, getIndividualOfferedNodeMultiplier, getJointVisitDuration, getJointVisitDurationMillis, getLastKnownAttachedAndRemovedResIds, getLastNodeInRouteImportance, getLoad, getLockdownTime, getMinVisitDuration, getMinVisitDurationMillis, getNode2NodeRelations, getNodeColor, getNodeDepot, getNodeId, getOriginalDutyHours, getQualifications, getStayAtStartDuration, getSubsequentSlaveNodes, getTempImplausibleScore, getTotalLoadDimension, getUnloadAllDimension, getViolations, getVisitDurationMillis, hasFullJobLevelRelations, hasRelations, hasRouteDependentVisitDuration, invokeDetachedResourceConstraints, isAllowMoveToReduceFlexTime, isCausingIdleTimeCost, isDutyHoursIncludesVisitDuration, isOfferedNode, isOnBlackList, isOptimizable, isOptional, isReturnStart, isStayNode, isUnassigned, isUnloadAll, isUseJointVisitDuration, isWaitOnEarlyArrival, isWaitOnEarlyArrivalFirstNode, isWorkNode, putResourceToBlacklist, removeConstraint, removeNode2NodeRelations, resetDutyHoursTempActivation, resetLockdownTime, resetSubsequentSlaveNodes, setAllowMoveToReduceFlexTime, setAutoFilterConstraints, setConstraints, setFirstNodeInRouteImportance, setFixCost, setHasRouteDependentVisitDuration, setImportance, setIndividualOfferedNodeMultiplier, setIsCausingIdleTimeCost, setIsDutyHoursIncludesVisitDuration, setIsOfferedNode, setIsOptional, setIsReturnStart, setIsStayNode, setIsWorkNode, setJointVisitDuration, setLastNodeInRouteImportance, setLoad, setLockdownTime, setMinAutoFilterProtectedExecutions, setMinimalVisitDuration, setNodeColor, setNodeDepot, setNodeId, setOptimizable, setOptimizable, setUnassigned, setUnloadAll, setUnloadAllDimension, setVisitDuration, setVisitDurationMillis, setWaitOnEarlyArrival, setWaitOnEarlyArrivalFirstNode, tempIncreaseImplausibleScore, tempSetActiveDutyHours, toStringMethods inherited from class com.dna.jopt.member.unit.AbstractOptimizationElementforceSetId, getConstraintAliasId, getDistMatrixId, getExtraInfo, getId, getLatitude, getLocationId, getLongitude, getNodeConnection, getNodeConnectionKeySet, getNodeConnections, getPosition, getPreferredHoursInteractionController, putNodeConnection, putNodeConnectionFromElement, removeNodeConnection, setConstraintAliasId, setDistMatrixId, setDutyHours, setExtraInfo, setId, setLatitude, setLocationId, setLongitude, setPositionMethods inherited from class java.lang.Objectclone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface com.dna.jopt.member.unit.node.INodeaddNode2NodeRelation, addQualification, addSubsequentSlaveNode, addSubsequentSlaveNodes, addViolation, decrementCurrentAutoFilterProtectedExecutions, detachNodeRelations, getAutoFilterViolationCollector, getBaseJointVisitDuration, getBaseJointVisitDurationMillis, getBaseVisitDuration, getBaseVisitDurationMillis, getConstraints, getCurrentLeftAutoFilterProtectedExecutions, getFirstNodeInRouteImportance, getFixCost, getImportance, getIndividualOfferedNodeMultiplier, getJointVisitDuration, getJointVisitDurationMillis, getLastKnownAttachedAndRemovedResIds, getLastNodeInRouteImportance, getLoad, getLockdownTime, getMinVisitDurationMillis, getNode2NodeRelations, getNodeColor, getNodeDepot, getOriginalDutyHours, getQualifications, getStayAtStartDuration, getSubsequentSlaveNodes, getTempImplausibleScore, getTotalLoadDimension, getUnloadAllDimension, getViolations, getVisitDurationMillis, hasFullJobLevelRelations, hasRelations, hasRouteDependentVisitDuration, isAllowMoveToReduceFlexTime, isCausingIdleTimeCost, isDutyHoursIncludesVisitDuration, isOfferedNode, isOnBlackList, isOptimizable, isOptional, isReturnStart, isStayNode, isUnassigned, isUnloadAll, isUseJointVisitDuration, isWaitOnEarlyArrival, isWaitOnEarlyArrivalFirstNode, isWorkNode, putResourceToBlacklist, removeConstraint, removeNode2NodeRelations, resetDutyHoursTempActivation, resetLockdownTime, resetSubsequentSlaveNodes, setAllowMoveToReduceFlexTime, setAutoFilterConstraints, setConstraints, setFirstNodeInRouteImportance, setFixCost, setHasRouteDependentVisitDuration, setImportance, setIndividualOfferedNodeMultiplier, setIsCausingIdleTimeCost, setIsDutyHoursIncludesVisitDuration, setIsOfferedNode, setIsOptional, setIsReturnStart, setIsStayNode, setIsWorkNode, setJointVisitDuration, setLastNodeInRouteImportance, setLoad, setLockdownTime, setMinAutoFilterProtectedExecutions, setMinimalVisitDuration, setNodeColor, setNodeDepot, setOptimizable, setOptimizable, setUnassigned, setUnloadAll, setUnloadAllDimension, setVisitDuration, setVisitDurationMillis, setWaitOnEarlyArrival, setWaitOnEarlyArrivalFirstNode, tempIncreaseImplausibleScore, tempSetActiveDutyHoursMethods inherited from interface com.dna.jopt.member.unit.IOptimizationElementforceSetId, getConstraintAliasId, getDistMatrixId, getDutyHours, getExtraInfo, getId, getLatitude, getLocationId, getLongitude, getNodeConnection, getNodeConnectionKeySet, getNodeConnections, getPosition, getPreferredHoursInteractionController, hasRealGeoLocation, putNodeConnection, putNodeConnectionFromElement, removeNodeConnection, setConstraintAliasId, setDistMatrixId, setDutyHours, setExtraInfo, setId, setLatitude, setLocationId, setLongitude, setPosition
- 
Constructor Details- 
PillarTimeWindowGeoNodepublic PillarTimeWindowGeoNode(String nodeId, double latitude, double longitude, IOpeningHours openingHour) The constructor for thePillarTimeWindowGeoNode, which is aTimeWindowGeoNodethat if not reached in time, will be skipped entirely. If avisit durationis supposed to be set, please usePillarTimeWindowGeoNode(String, double, double, IOpeningHours, Duration).Implementation example: // Defining opening hours OpeningHours openingHours = new OpeningHours(ZonedDateTime.of(2020, MAY.getValue(), 6, 14, 0, 0, 0, ZoneId.of("Europe/Berlin")), ZonedDateTime.of(2020, MAY.getValue(), 6, 21, 0, 0, 0, ZoneId.of("Europe/Berlin"))); // Defining an (optional) constraint IConstraint typeConstraint = new TypeConstraint(); ((TypeConstraint) typeConstraint).addType("plumbing"); typeConstraint.setIsHard(true); PillarTimeWindowGeoNode aachen = new PillarTimeWindowGeoNode("Aachen", 50.775346, 6.083887, openingHours); aachen.addConstraint(typeConstraint); this.addElement(aachen);- Parameters:
- nodeId- the string node ID
- latitude- the double latitude of the PillarTimeWindowGeoNode
- longitude- the double longitude of the PillarTimeWindowGeoNode
- openingHour- the IOpeninghours
 
- 
PillarTimeWindowGeoNodepublic PillarTimeWindowGeoNode(String nodeId, com.dna.jopt.config.types.Position pos, IOpeningHours openingHour) 
- 
PillarTimeWindowGeoNodepublic PillarTimeWindowGeoNode(String nodeId, double latitude, double longitude, IOpeningHours openingHour, Duration visitDuration) The constructor for thePillarTimeWindowGeoNode, which is aTimeWindowGeoNodethat if not reached in time, will be skipped entirely. If the work at thePillarTimeWindowGeoNodehas to be finished within theIDutyHours, please usePillarTimeWindowGeoNode(String, double, double, IOpeningHours, Duration, boolean).Implementation example // Defining opening hours OpeningHours openingHours = new OpeningHours(ZonedDateTime.of(2020, MAY.getValue(), 6, 14, 0, 0, 0, ZoneId.of("Europe/Berlin")), ZonedDateTime.of(2020, MAY.getValue(), 6, 21, 0, 0, 0, ZoneId.of("Europe/Berlin"))); // Defining an (optional) constraint IConstraint typeConstraint = new TypeConstraint(); ((TypeConstraint) typeConstraint).addType("plumbing"); typeConstraint.setIsHard(true); Duration visitDuration = Duration.ofMinutes(20); PillarTimeWindowGeoNode aachen = new PillarTimeWindowGeoNode("Aachen", 50.775346, 6.083887, openingHours, visitDuration); aachen.addConstraint(typeConstraint); this.addElement(aachen);- Parameters:
- nodeId- the string node ID
- latitude- the double latitude of the PillarTimeWindowGeoNode
- longitude- the double longitude of the PillarTimeWindowGeoNode
- openingHour- the IOpeninghours
- visitDuration- the duration visitduration that the work needs in order to be done
 
- 
PillarTimeWindowGeoNodepublic PillarTimeWindowGeoNode(String nodeId, com.dna.jopt.config.types.Position pos, IOpeningHours openingHour, Duration visitDuration) 
- 
PillarTimeWindowGeoNodepublic PillarTimeWindowGeoNode(String nodeId, double latitude, double longitude, IOpeningHours openingHour, Duration visitDuration, boolean isDutyHoursIncludeVisitDuration) The constructor for thePillarTimeWindowGeoNode, which is aTimeWindowGeoNodethat if not reached in time, will be skipped entirely. In the other constructors the work has to be started but not necessarily finished within theIDutyHours. IfisDutyHoursIncludeVisitDurationis set totrue, the work has to be started and finished within theDutyHours.Implementation example // Defining opening hours OpeningHours openingHours = new OpeningHours(ZonedDateTime.of(2020, MAY.getValue(), 6, 14, 0, 0, 0, ZoneId.of("Europe/Berlin")), ZonedDateTime.of(2020, MAY.getValue(), 6, 21, 0, 0, 0, ZoneId.of("Europe/Berlin"))); // Defining an (optional) constraint IConstraint typeConstraint = new TypeConstraint(); ((TypeConstraint) typeConstraint).addType("plumbing"); typeConstraint.setIsHard(true); Duration visitDuration = Duration.ofMinutes(20); PillarTimeWindowGeoNode aachen = new PillarTimeWindowGeoNode("Aachen", 50.775346, 6.083887, openingHours, visitDuration, true); aachen.addConstraint(typeConstraint); this.addElement(aachen);- Parameters:
- nodeId- the string node ID
- latitude- the double latitude of the PillarTimeWindowGeoNode
- longitude- the double longitude of the PillarTimeWindowGeoNode
- openingHour- the iOpeningHours
- visitDuration- the duration visitDuration that the work needs
- isDutyHoursIncludeVisitDuration- the boolean whether the visitDuration if the work has to be done within the DutyHours
 
- 
PillarTimeWindowGeoNodepublic PillarTimeWindowGeoNode(String nodeId, com.dna.jopt.config.types.Position pos, IOpeningHours openingHour, Duration visitDuration, boolean isDutyHoursIncludeVisitDuration) 
 
- 
- 
Method Details- 
isTimeAdjustableAnchorpublic boolean isTimeAdjustableAnchor()Description copied from interface:IPillarNodeChecksisTimeAdjustableAnchor. If yes, then thePillaris allowed to change time a bit if theRoutestart is moving as well. The default value isfalse.- Specified by:
- isTimeAdjustableAnchorin interface- IPillarNode
- Returns:
- the state of isTimeAdjustableAnchor
 
- 
isOverwritingRouteStartpublic boolean isOverwritingRouteStart()Description copied from interface:IPillarTimeWindowGeoNode- Specified by:
- isOverwritingRouteStartin interface- IPillarTimeWindowGeoNode
- Returns:
- if the node is overwriting the route start
 
- 
isOverwritingRouteTerminationpublic boolean isOverwritingRouteTermination()Description copied from interface:IPillarTimeWindowGeoNodeChecks if theILogicEntityRoutehas to end at thisAnchorNode.If a job has to be done at this AnchorPillar, then anotherPillarhas to be added again.- Specified by:
- isOverwritingRouteTerminationin interface- IPillarNode
- Specified by:
- isOverwritingRouteTerminationin interface- IPillarTimeWindowGeoNode
- Returns:
- whether the node is overwriting route termination
 
- 
attachResourceDescription copied from interface:IPillarNodeAttaching themandatoryVisitoras the visitingresourcewill be treated as ahard constraintif amandatoryVisitorwas set using this method.Throws an IllegalStateExceptionif amandatoryVisitorhas already been attached- Specified by:
- attachResourcein interface- IPillarNode
- Parameters:
- mandatoryVisitor- the Resource to attach to the Pillarnode
 
- 
detachResourceConstraintspublic void detachResourceConstraints()Description copied from interface:INodeRemoves allIConstraint. This method is used internally.- Specified by:
- detachResourceConstraintsin interface- INode
- Overrides:
- detachResourceConstraintsin class- AbstractNode
 
- 
getLastKnownAsRouteStartpublic boolean getLastKnownAsRouteStart()Description copied from interface:IPillarTimeWindowGeoNodeGets the last known as route start.- Specified by:
- getLastKnownAsRouteStartin interface- IPillarTimeWindowGeoNode
- Returns:
- the last known as route start
 
- 
getLastKnownAsRouteTerminationpublic boolean getLastKnownAsRouteTermination()- Specified by:
- getLastKnownAsRouteTerminationin interface- IPillarNode
 
- 
detachResourceConstraintsDescription copied from interface:INodeRemoves theIResourcewith the givenresIdfrom theIConstraintthat areIConstraintResource. This method is used internally.- Specified by:
- detachResourceConstraintsin interface- INode
- Overrides:
- detachResourceConstraintsin class- AbstractNode
- Parameters:
- resId- the string Resource /D
 
- 
addConstraintDescription copied from interface:INodeAdds aconstraintwhich limits theResourcesthat can serve thisNodeto those that have the specificQualificationto do so.For further explanations and implementation examples please see TypeConstraintandTypeQualification.- Specified by:
- addConstraintin interface- INode
- Overrides:
- addConstraintin class- AbstractNode
- Parameters:
- constraint- the- Iconstraintto be added
 
- 
getAttachedResourceIdDescription copied from interface:IPillarNodeGets theidof thePillarEventNode.attachedres, returnsnullif noresourcehas been attached.- Specified by:
- getAttachedResourceIdin interface- IPillarNode
- Returns:
- the id of the attached resource
 
- 
getFlavourDescription copied from interface:IOptimizationElementGets the flavour which spells out the kind ofNodeof the element.- Specified by:
- getFlavourin interface- IOptimizationElement
- Overrides:
- getFlavourin class- TimeWindowGeoNode
- Returns:
- the flavour
 
- 
isPillarNodepublic boolean isPillarNode()Description copied from interface:INodeChecks if the node is aisPillarNode.PillarNodeswill only be served if theResourcearrives on time. If theResourceis arriving too late thePillarNodewill be skipped.- Specified by:
- isPillarNodein interface- INode
- Overrides:
- isPillarNodein class- TimeWindowGeoNode
- Returns:
- the boolean isPillarNode
 
- 
isResourceAttachedpublic boolean isResourceAttached()Description copied from interface:IPillarNodeChecks the state ofattachedres.- Specified by:
- isResourceAttachedin interface- IPillarNode
- Returns:
- true if an attachedResource has already ben set
 
- 
equals- Overrides:
- equalsin class- AbstractNode
 
- 
hashCodepublic int hashCode()- Overrides:
- hashCodein class- AbstractNode
 
- 
setIsForcedStayNodepublic void setIsForcedStayNode(boolean isForcedStayNode) Description copied from interface:IPillarTimeWindowGeoNodeSetsisForcedStayNodeandAbstractNode.isStayNodeto the input value.- Specified by:
- setIsForcedStayNodein interface- IPillarTimeWindowGeoNode
- Parameters:
- isForcedStayNode- the boolean to be set
 
- 
isForcedStayNodepublic boolean isForcedStayNode()Description copied from interface:IPillarTimeWindowGeoNodeChecksisForcedStayNode.- Specified by:
- isForcedStayNodein interface- IPillarTimeWindowGeoNode
- Returns:
- the value of isForcedStayNode
 
- 
isOnlyScheduledInCompanypublic boolean isOnlyScheduledInCompany()Description copied from interface:IPillarNodeSomePillarsthat are scheduled are not actually jobs. Setting this totruethesePillarsonly need to be visited if they occur on a day thatwork Nodesare scheduled. The default value isfalse.- Specified by:
- isOnlyScheduledInCompanyin interface- IPillarNode
- Returns:
- whether the Nodeis only scheduled in company
 
- 
setIsOnlyScheduledInCompanypublic void setIsOnlyScheduledInCompany(boolean isOnlyScheduledInCompany) Description copied from interface:IPillarNodeSets thePillaronly to be visited of otherwork Nodesare scheduled that day. The default value isfalse.- Specified by:
- setIsOnlyScheduledInCompanyin interface- IPillarNode
- Parameters:
- isOnlyScheduledInCompany- the boolean whether the- Nodeis only scheduled in company
 
- 
setIsSchedulableOutsideWorkingHourspublic void setIsSchedulableOutsideWorkingHours(boolean isSchedulableOutsideWorkingsHoursStart, boolean isSchedulableOutsideWorkingsHoursEnd) Description copied from interface:IPillarNodeSets thePillarthat it has to be visited by aResourceoutside of herWorkingHoursifIResource.setMaxPillarAfterHoursTime(Duration)is also set totrue.- Specified by:
- setIsSchedulableOutsideWorkingHoursin interface- IPillarNode
- Parameters:
- isSchedulableOutsideWorkingsHoursStart- the boolean if working is possible before workingHours
- isSchedulableOutsideWorkingsHoursEnd- the boolean if working is possible after workingHours
 
- 
isSchedulableBeforeWorkingHourspublic boolean isSchedulableBeforeWorkingHours()Description copied from interface:IPillarNodeChecksisSchedulableOutsideWorkingsHoursStart. The default value isfalse.- Specified by:
- isSchedulableBeforeWorkingHoursin interface- IPillarNode
- Returns:
- whether working is possible before workingHours
 
- 
isSchedulableAfterWorkingHourspublic boolean isSchedulableAfterWorkingHours()Description copied from interface:IPillarNodeChecksisSchedulableOutsideWorkingsHoursEnd. The default value isfalse.- Specified by:
- isSchedulableAfterWorkingHoursin interface- IPillarNode
- Returns:
- whether working is possible after workingHours
 
- 
setIsOverwritingRouteStartpublic void setIsOverwritingRouteStart(boolean isOverwritingRouteStart, boolean isAdjustable) Description copied from interface:IPillarTimeWindowGeoNodeOverwrites theRoute start, forcing theIResourceto visit thisAnchorNodefirst. AnAnchorNodeessentially is anIPillarNodethat is specifically set tostartorendanILogicEntityRoute. Any driving time or distance for theResourcebetween theAnchorNodeand its home is not counted. An example would be a truck driver who has to park his truck in a specific truck deposit and travels on his own time to/from home.The boolean isAdjustabledefines whether thePillarcan still be moved a bit, allowing theAnchorNodeto be shifted towards theINodefollowing it on theRoute.- Specified by:
- setIsOverwritingRouteStartin interface- IPillarTimeWindowGeoNode
- Parameters:
- isOverwritingRouteStart- the boolean, if- trueturning the- Pillarin an- AnchorNode
- isAdjustable- the boolean allowing the- AnchorNodeto be shifted slightly
 
- 
setIsOverwritingRouteTerminationpublic void setIsOverwritingRouteTermination(boolean isOverwritingRouteTermination, boolean isAdjustable) Description copied from interface:IPillarNodeSets thePillarto beanAnchorPillarat which theRoutehas to start or end. Thebooleandefines whether thePillarcan still be moved.- Specified by:
- setIsOverwritingRouteTerminationin interface- IPillarNode
- Parameters:
- isOverwritingRouteTermination- the boolean whether it is overwriting route termination
- isAdjustable- the boolean whether it is adjustable
 
- 
isAutoFilterProtectedpublic boolean isAutoFilterProtected()Description copied from interface:INodeChecks if theNodeis protected from being filtered.- Specified by:
- isAutoFilterProtectedin interface- INode
- Overrides:
- isAutoFilterProtectedin class- AbstractNode
- Returns:
- trueif the condition allows
 
- 
isOverwritingRouteStartOrTerminationpublic boolean isOverwritingRouteStartOrTermination()Description copied from interface:IPillarNodeChecks if thePillaris anAnchorPillarin which case theRoutehas to start or and at saidAnchorPillar. The default values arefalse- Specified by:
- isOverwritingRouteStartOrTerminationin interface- IPillarNode
- Returns:
- the states if either the route start or the route termination is overwritten
 
- 
isAutoTransformable2StartAnchorpublic boolean isAutoTransformable2StartAnchor()Description copied from interface:IPillarTimeWindowGeoNodeChecks if thisPillarwill automatically transform into ananchorNodeif it is the firstPillarand cannot be reached in time..- Specified by:
- isAutoTransformable2StartAnchorin interface- IPillarTimeWindowGeoNode
- Returns:
- true if it can transform into an anchorNode
 
- 
setAutoTransformable2StartAnchorpublic void setAutoTransformable2StartAnchor(boolean isAutoTransformable2StartAnchor) Description copied from interface:IPillarTimeWindowGeoNodeWhen thisPillaris the first pillar and cannot be reached in time, it will automatically transform into ananchorNodeif set totrue.- Specified by:
- setAutoTransformable2StartAnchorin interface- IPillarTimeWindowGeoNode
- Parameters:
- isAutoTransformable2StartAnchor- the boolean, might transform into an- anchorNodeif- true
 
- 
setConnectionRelatedLateMarginpublic boolean setConnectionRelatedLateMargin(double connectionFator, Duration maxMargin, boolean shiftNode, boolean applyPartial) Description copied from interface:IPillarTimeWindowGeoNodeSets the connection related late margin. Margin is calculated as margin = connectionToElement*factor. If the margin is bigger than maxMargin the maxMargin is used. If shiftElement is true, the node will move to beginning of the used margin. If applyPartial is set to true, a pillar with higher lateness than what the margin could compensate is at least compensated partially. If false, no margin is applied.- Specified by:
- setConnectionRelatedLateMarginin interface- IPillarTimeWindowGeoNode
- Parameters:
- connectionFator- the connectionFactor
- maxMargin- the max margin
- shiftNode- the shift element
- applyPartial- the apply partial
- Returns:
- true, if successful
 
- 
resetConnectionRelatedMarginpublic void resetConnectionRelatedMargin()- Specified by:
- resetConnectionRelatedMarginin interface- IPillarTimeWindowGeoNode
 
- 
getConnectionRelatedLateMarginDescription copied from interface:IPillarTimeWindowGeoNodeGets the connection related late margin.- Specified by:
- getConnectionRelatedLateMarginin interface- IPillarTimeWindowGeoNode
- Parameters:
- connectionMillis- the connection millis
- Returns:
- the connection related late margin
 
- 
isDoElementShiftConnectionRelatedLateMarginpublic boolean isDoElementShiftConnectionRelatedLateMargin()Description copied from interface:IPillarTimeWindowGeoNodeChecks if is do element shift connection related late margin.- Specified by:
- isDoElementShiftConnectionRelatedLateMarginin interface- IPillarTimeWindowGeoNode
- Returns:
- true, if is do element shift connection related late margin
 
- 
isApplyPartialConnectionRelatedLateMarginpublic boolean isApplyPartialConnectionRelatedLateMargin()Description copied from interface:IPillarTimeWindowGeoNodeChecks if is apply partial connection related late margin.- Specified by:
- isApplyPartialConnectionRelatedLateMarginin interface- IPillarTimeWindowGeoNode
- Returns:
- true, if is apply partial connection related late margin
 
- 
getConnectionRelatedMaxLateMarginDescription copied from interface:IPillarTimeWindowGeoNodeGets the connection related max late margin.- Specified by:
- getConnectionRelatedMaxLateMarginin interface- IPillarTimeWindowGeoNode
- Returns:
- the connection related max late margin
 
- 
getConnectionRelatedMarginFactorpublic double getConnectionRelatedMarginFactor()Description copied from interface:IPillarTimeWindowGeoNodeGets the connection related margin factor.- Specified by:
- getConnectionRelatedMarginFactorin interface- IPillarTimeWindowGeoNode
- Returns:
- the connection related margin factor
 
 
-