public class Node2NodesMultiDayRelation extends AbstracNode2NodeRelation implements INode2NodesMultiDayRelation
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); }
AbstracNode2NodeRelation.RelationMode
Constructor and Description |
---|
Node2NodesMultiDayRelation()
The constructor for a
relation between two Nodes that must be
visited by the same or different Resource . |
Node2NodesMultiDayRelation(List<com.dna.jopt.config.types.RouteElementDetail> anchorDetails) |
Modifier and Type | Method and Description |
---|---|
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) |
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> |
getAnchorDetails() |
boolean |
hasValidRelatedItem() |
boolean |
isForcedSameVisitor() |
boolean |
isOverlapAllowed() |
boolean |
needsFullJobLevelEvaluation()
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) |
checkRelation, getDetailsOfElement, getMasterNode, getRelatedNode, getRelatedNodes, getRelationMode, getRouteOfElement, isFilterRelatedNodes, setMasterNode, setRelatedNode, setRelatedNodes, setRelationMode
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getRelatedNode, getRelatedNodes, setRelatedNode, setRelatedNodes
checkRelation, getMasterNode, getRelationMode, isFilterRelatedNodes, setMasterNode, setRelationMode
public Node2NodesMultiDayRelation()
relation
between two Nodes
that must be
visited by the same or different Resource
.public Node2NodesMultiDayRelation(List<com.dna.jopt.config.types.RouteElementDetail> anchorDetails)
public void setMinimalAnchorDetails(List<com.dna.jopt.config.types.MinimalRouteElementDetail> anchorDetails)
setMinimalAnchorDetails
in interface INode2NodesMultiDayRelation
public void setAnchorDetails(List<com.dna.jopt.config.types.RouteElementDetail> anchorDetails)
setAnchorDetails
in interface INode2NodesMultiDayRelation
public boolean hasValidRelatedItem()
hasValidRelatedItem
in interface INode2NodeRelation
hasValidRelatedItem
in class AbstracNode2NodeRelation
public List<com.dna.jopt.config.types.RouteElementDetail> getAnchorDetails()
getAnchorDetails
in interface INode2NodesMultiDayRelation
public void setIsForcedSameVisitor(boolean isForcedSameVisitor)
setIsForcedSameVisitor
in interface INode2NodesMultiDayRelation
public boolean isForcedSameVisitor()
public void setIsOverlapAllowed(boolean isOverlapAllowed)
setIsOverlapAllowed
in interface INode2NodesMultiDayRelation
public boolean isOverlapAllowed()
public void filterForWorkingHoursGap(boolean filterForGap)
filterForWorkingHoursGap
in interface INode2NodesMultiDayRelation
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)
checkRelation
in interface INode2NodeRelation
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)
public boolean needsFullJobLevelEvaluation()
INodeRelation
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.
needsFullJobLevelEvaluation
in interface INodeRelation
Copyright © 2017–2023 DNA Evolutions GmbH. All rights reserved.