Interface INodeRelation

All Superinterfaces:
Serializable
All Known Subinterfaces:
INode2MultiNodesRelation, INode2NodeRelation, INode2NodesMultiDayRelation, INode2NodeTempusRelation, INode2NodeVisitorRelation
All Known Implementing Classes:
AbstracNode2NodeRelation, AbstractNode2NodeTempusRelation, NegativeRelativeTimeWindow2RelatedNodeRelation, Node2NodesMultiDayRelation, RelativeTimeWindow2RelatedNodeRelation, RelativeVisitor2RelatedNodeRelation

public interface INodeRelation extends Serializable
  • Method Details

    • setMasterNode

      void setMasterNode(INode masterNode)
      Sets the Node as a MasterNode which has to be given service before the related RelatedNode.
      Parameters:
      masterNode - the masterNode to be set
    • getMasterNode

      INode getMasterNode()
      Gets the AbstracNode2NodeRelation.masterNode
      Returns:
      the masterNode
    • checkRelation

      com.dna.jopt.assessment.costassessorrestriction.restrictionresult.IEntityRestrictionResult checkRelation(IEntity en, com.dna.jopt.assessment.costadjustment.IEntityCostAdjuster cad, com.dna.jopt.framework.inputplausibility.properties.IPropertyProvider iPropertyProvider, boolean resultRequested)
      Checks the relation of the masternode and the related node, returns the joined cost of the violations if the masternode and the related node could not be visited.
      Parameters:
      en - the IEntity
      cad - the IEntityCostAdjuster
      iPropertyProvider - the IPropertyprovider
      resultRequested - the boolean
      Returns:
      the cost of restricting the optimizer in visiting the master- and the related node
    • needsFullJobLevelEvaluation

      boolean needsFullJobLevelEvaluation()
      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.

      Returns:
      boolean true if successful
    • isFilterRelatedNodes

      boolean isFilterRelatedNodes()
      Returns:
      the boolean isForceFilterRelatedNodes
    • setRelationMode

      void setRelationMode(AbstracNode2NodeRelation.RelationMode relationMode)
    • getRelationMode