Class Node2NodesMultiDayRelation
java.lang.Object
com.dna.jopt.member.unit.relation.node2node.AbstracNode2NodeRelation
com.dna.jopt.member.unit.relation.node2nodes.multiday.Node2NodesMultiDayRelation
- All Implemented Interfaces:
INode2NodeRelation
,INodeRelation
,INode2MultiNodesRelation
,INode2NodesMultiDayRelation
,Serializable
public class Node2NodesMultiDayRelation
extends AbstracNode2NodeRelation
implements INode2NodesMultiDayRelation
This interface provides methods which allow to set
relations
between
INodes
concerning the specific
IResource
visiting them.
Example for setting a different visitor among the Nodes
"moers" and
"gladbach":
{ @code INode2NodeVisitorRelation rel = new RelativeVisitor2RelatedNodeRelation(); rel.setIsForcedDifferentVisitor(); rel.setMasterNode(moers); rel.setRelatedNode(gladbach); moers.addNode2NodeRelation(rel); gladbach.addNode2NodeRelation(rel); }
- Since:
- 03/08/2019
- Version:
- 13/02/2020
- Author:
- DNA
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class com.dna.jopt.member.unit.relation.node2node.AbstracNode2NodeRelation
AbstracNode2NodeRelation.RelationMode
-
Constructor Summary
ConstructorDescriptionThe constructor for arelation
between twoNodes
that must be visited by the same or differentResource
.Node2NodesMultiDayRelation
(List<com.dna.jopt.config.types.RouteElementDetail> anchorDetails) -
Method Summary
Modifier and TypeMethodDescriptioncom.dna.jopt.assessment.costassessorrestriction.restrictionresult.IEntityRestrictionResult
checkRelation
(IEntity en, com.dna.jopt.framework.inputplausibility.properties.IPropertyProvider propertyProvider, com.dna.jopt.assessment.costadjustment.IEntityCostAdjuster cad, ILogicRouteElementDetailItem masterDetails, List<ILogicRouteElementDetailItem> relatedDetails, boolean resultRequested) com.dna.jopt.assessment.costassessorrestriction.restrictionresult.IEntityRestrictionResult
checkRelationOld
(IEntity en, com.dna.jopt.framework.inputplausibility.properties.IPropertyProvider propertyProvider, com.dna.jopt.assessment.costadjustment.IEntityCostAdjuster cad, ILogicRouteElementDetailItem masterDetails, List<ILogicRouteElementDetailItem> relatedDetails, boolean resultRequested) void
filterForWorkingHoursGap
(boolean filterForGap) List<com.dna.jopt.config.types.RouteElementDetail>
boolean
boolean
boolean
boolean
Needs full job level evaluation.void
setAnchorDetails
(List<com.dna.jopt.config.types.RouteElementDetail> anchorDetails) void
setIsForcedSameVisitor
(boolean isForcedSameVisitor) void
setIsOverlapAllowed
(boolean isOverlapAllowed) void
setMinimalAnchorDetails
(List<com.dna.jopt.config.types.MinimalRouteElementDetail> anchorDetails) Methods inherited from class com.dna.jopt.member.unit.relation.node2node.AbstracNode2NodeRelation
checkRelation, getDetailsOfElement, getMasterNode, getRelatedNode, getRelatedNodes, getRelationMode, getRouteOfElement, isFilterRelatedNodes, setMasterNode, setRelatedNode, setRelatedNodes, setRelationMode
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.dna.jopt.member.unit.relation.node2node.INode2NodeRelation
getRelatedNode, getRelatedNodes, setRelatedNode, setRelatedNodes
Methods inherited from interface com.dna.jopt.member.unit.relation.node2node.INodeRelation
checkRelation, getMasterNode, getRelationMode, isFilterRelatedNodes, setMasterNode, setRelationMode
-
Constructor Details
-
Node2NodesMultiDayRelation
public Node2NodesMultiDayRelation()The constructor for arelation
between twoNodes
that must be visited by the same or differentResource
. -
Node2NodesMultiDayRelation
-
-
Method Details
-
setMinimalAnchorDetails
public void setMinimalAnchorDetails(List<com.dna.jopt.config.types.MinimalRouteElementDetail> anchorDetails) - Specified by:
setMinimalAnchorDetails
in interfaceINode2NodesMultiDayRelation
-
setAnchorDetails
- Specified by:
setAnchorDetails
in interfaceINode2NodesMultiDayRelation
-
hasValidRelatedItem
public boolean hasValidRelatedItem()- Specified by:
hasValidRelatedItem
in interfaceINode2NodeRelation
- Overrides:
hasValidRelatedItem
in classAbstracNode2NodeRelation
-
getAnchorDetails
- Specified by:
getAnchorDetails
in interfaceINode2NodesMultiDayRelation
-
setIsForcedSameVisitor
public void setIsForcedSameVisitor(boolean isForcedSameVisitor) - Specified by:
setIsForcedSameVisitor
in interfaceINode2NodesMultiDayRelation
-
isForcedSameVisitor
public boolean isForcedSameVisitor() -
setIsOverlapAllowed
public void setIsOverlapAllowed(boolean isOverlapAllowed) - Specified by:
setIsOverlapAllowed
in interfaceINode2NodesMultiDayRelation
-
isOverlapAllowed
public boolean isOverlapAllowed() -
filterForWorkingHoursGap
public void filterForWorkingHoursGap(boolean filterForGap) - Specified by:
filterForWorkingHoursGap
in interfaceINode2NodesMultiDayRelation
-
checkRelation
public com.dna.jopt.assessment.costassessorrestriction.restrictionresult.IEntityRestrictionResult checkRelation(IEntity en, com.dna.jopt.framework.inputplausibility.properties.IPropertyProvider propertyProvider, com.dna.jopt.assessment.costadjustment.IEntityCostAdjuster cad, ILogicRouteElementDetailItem masterDetails, List<ILogicRouteElementDetailItem> relatedDetails, boolean resultRequested) - Specified by:
checkRelation
in interfaceINode2NodeRelation
-
checkRelationOld
public com.dna.jopt.assessment.costassessorrestriction.restrictionresult.IEntityRestrictionResult checkRelationOld(IEntity en, com.dna.jopt.framework.inputplausibility.properties.IPropertyProvider propertyProvider, com.dna.jopt.assessment.costadjustment.IEntityCostAdjuster cad, ILogicRouteElementDetailItem masterDetails, List<ILogicRouteElementDetailItem> relatedDetails, boolean resultRequested) -
needsFullJobLevelEvaluation
public boolean needsFullJobLevelEvaluation()Description copied from interface:INodeRelation
Needs full job level evaluation.In case the relation needs to access for example arrival times etc. of all related nodes e have to save this data for the relation. The cost assessor will ask if the relation requires this and will save the data for the nodes carrying this relation. It is important that every node that is part of a relation is also carrying the relation as object.
- Specified by:
needsFullJobLevelEvaluation
in interfaceINodeRelation
- Returns:
- boolean true if successful
-