Interface ILogicRouteElementDetailItem

All Superinterfaces:
Cloneable, Serializable
All Known Implementing Classes:
LogicRouteElementDetailItem

public interface ILogicRouteElementDetailItem extends Serializable, Cloneable
The Interface IlogicRouteElementDetailItem carried by an ILogicRouteElement which is only created when ILogicEntityRoute#setRequestElementDetails(boolean) is set to true.

This item contains Route specific data of a Node like data on arrival, departure and transition times, the distance, the idle time of how long the Resource had to wait at the Node until it opened according the OpeningHours more.

By having this information saved in the ILogicRouteElementDetailItem the Node Objects remain untouched by the behavior experienced in the Routes.

Since:
08/11/2018
Version:
07/02/2020
Author:
DNA
  • Method Details

    • getArrivalTime

      long getArrivalTime()
      Gets the arrival time of the Resource at the Node in milliseconds since UNIX timestamp.
      Returns:
      the long arrival time
    • getDepatureTime

      long getDepatureTime()
      Deprecated.
      Gets the departure time of the Resource at the Node in milliseconds since UNIX timestamp.
      Returns:
      the long departure time in milliseconds
    • getTransitionTime

      long getTransitionTime()
      Gets the time that was needed since the last geoLocation, likely a INode or IPillarNode in milliseconds.
      Returns:
      the long transitionTime in milliseconds
    • getIdleTime

      long getIdleTime()
      Gets the idle time that a Resource had to wait since it arrived prior to the OpeningHours of the Node in milliseconds.

      If the return number is bigger than 0 the INode.isWaitOnEarlyArrival() is set to true and the ILogicRouteElementDetailItem.ScheduleStatus will be set to IDLE. If INode.isWaitOnEarlyArrival() would be set to false the ILogicRouteElementDetailItem.ScheduleStatus would be set to EARLY and the return number would be 0 since the Resource is not idling.

      Returns:
      the long idleTime
    • isUnlocatedIdleTime

      boolean isUnlocatedIdleTime()
      Checks unlocated idle time, which means the idle time is happening on the way and not at the Node. The Resource will arrive at the Node when the work is starting. The default value is false.
      Returns:
      the boolean of isUnlocatedIdleTime
    • getWhiteSpaceIdleTime

      long getWhiteSpaceIdleTime()
      Gets the white space idle time in milliseconds which is the time between the setLocalMaxRouteStartReductionTimePillar and the normal IWorkingHours. The maxRouteStartReductionTimePillar can only be used by an IPillarNode.
      Returns:
      the whiteSpaceIdleTime
    • getDurationTime

      long getDurationTime()
      Gets the duration between the last location of the Resource to the specific Node in milliseconds.
      Returns:
      the long duration time
    • getTransitionDistance

      double getTransitionDistance()
      Gets the transition distance from the previous location of the Resource to the Node in meters.
      Returns:
      the double from the previous element
    • getElement

      IOptimizationElement getElement()
      Gets the Node.
      Returns:
      the iOptimizationElement
    • getChosenOpeningHoursIndex

      int getChosenOpeningHoursIndex()
      Gets the index of the OpeningHours from the Node.
      Returns:
      the int chosenOpeningHoursIndex
    • getChosenWorkingHoursIndex

      int getChosenWorkingHoursIndex()
      Gets the index of the WorkingHours of the Resource.
      Returns:
      the choosenWorkingHoursIndex
    • getScheduleStatus

      Gets the ILogicRouteElementDetailItem.ScheduleStatus, which either is UNKNOWN, EARLY, IDLE, INTIME or LATE. The default is UNKNOWN.
      Returns:
      the Status
    • getVisitorId

      String getVisitorId()
      Gets the visitor ID, which is the given name of the Resource.
      Returns:
      the string of the visitor ID
    • getEarlyDeviation

      long getEarlyDeviation()
      Gets the LogicRouteElementDetailItem.earlyDeviationMillis in milliseconds.
      Returns:
      the earlyDeviationMillis
    • getLateDeviation

      long getLateDeviation()
      Gets the LogicRouteElementDetailItem.lateDeviationMillis in milliseconds.
      Returns:
      the lateDeviationMillis
    • getLoadChange

      double[] getLoadChange()
      Gets the load change. In case a node is requesting a pickup or delivery, the load change indicates how the load of the node changed after the visitation.
      Returns:
      the load change
    • getNodeDepotAfterVisit

      Optional<INodeDepot> getNodeDepotAfterVisit()
    • getNodeDepotBeforeVisit

      Optional<INodeDepot> getNodeDepotBeforeVisit()
    • getEffectivePosition

      com.dna.jopt.config.types.Position getEffectivePosition()
    • getDepartureTime

      long getDepartureTime()
    • getOriginalTransitionTime

      long getOriginalTransitionTime()