Class DtoDevice

java.lang.Object
com.vernaio.kayros.engine.v2.api.dto.DtoDevice
All Implemented Interfaces:
IDtoDevice

public class DtoDevice extends Object implements IDtoDevice
Details about the capabilities and availabilities of a device (that can execute jobs).
  • Constructor Details

  • Method Details

    • getId

      public String getId()
      Specified by:
      getId in interface IDtoDevice
    • setId

      public void setId(String id)
      Specified by:
      setId in interface IDtoDevice
    • getDeviceStateDeclaration

      public IDtoDeviceStateAspectDeclaration[] getDeviceStateDeclaration()
      The deviceStateAspects of this devices, including initial values. The transitionModel may only use these aspects. If processes used in this device provide aspect keys not listed here, they will not be used. If processes used in this device fail to provide one of the aspect keys listed here, the initial value will be used for that key.#TODO ask LL or we validate and throw some MissingKeyError.
      Specified by:
      getDeviceStateDeclaration in interface IDtoDevice
    • setDeviceStateDeclaration

      public void setDeviceStateDeclaration(IDtoDeviceStateAspectDeclaration[] deviceStateDeclaration)
      The deviceStateAspects of this devices, including initial values. The transitionModel may only use these aspects. If processes used in this device provide aspect keys not listed here, they will not be used. If processes used in this device fail to provide one of the aspect keys listed here, the initial value will be used for that key.#TODO ask LL or we validate and throw some MissingKeyError.
      Specified by:
      setDeviceStateDeclaration in interface IDtoDevice
    • getProcesses

      public String[] getProcesses()
      The different processes this Device can execute (OR). May not be empty.#TODO ask LL or add Has to obey the deviceStateDeclaration.
      Specified by:
      getProcesses in interface IDtoDevice
    • setProcesses

      public void setProcesses(String[] processes)
      The different processes this Device can execute (OR). May not be empty.#TODO ask LL or add Has to obey the deviceStateDeclaration.
      Specified by:
      setProcesses in interface IDtoDevice
    • getCapacity

      public IDtoDeviceCapacity getCapacity()
      If/with how much capacity the device can run its available processes in parallel. If not set, the device can only produce one job at a time.
      Specified by:
      getCapacity in interface IDtoDevice
    • setCapacity

      public void setCapacity(IDtoDeviceCapacity capacity)
      If/with how much capacity the device can run its available processes in parallel. If not set, the device can only produce one job at a time.
      Specified by:
      setCapacity in interface IDtoDevice
    • getSetupCostModel

      public String getSetupCostModel()
      The parameters for the default setup costs for this device. If you provide your own setupCalculator, you can just set some simple model for all devices (and decide how/if you use the default value). May only use the declared deviceStateAspects.
      Specified by:
      getSetupCostModel in interface IDtoDevice
    • setSetupCostModel

      public void setSetupCostModel(String setupCostModel)
      The parameters for the default setup costs for this device. If you provide your own setupCalculator, you can just set some simple model for all devices (and decide how/if you use the default value). May only use the declared deviceStateAspects.
      Specified by:
      setSetupCostModel in interface IDtoDevice
    • getSetupDurationModel

      public String getSetupDurationModel()
      The parameters for the default setup durations for this device. If you provide your own setupCalculator, you can just set some simple model for all devices (and decide how/if you use the default value). May only use the declared deviceStateAspects.
      Specified by:
      getSetupDurationModel in interface IDtoDevice
    • setSetupDurationModel

      public void setSetupDurationModel(String setupDurationModel)
      The parameters for the default setup durations for this device. If you provide your own setupCalculator, you can just set some simple model for all devices (and decide how/if you use the default value). May only use the declared deviceStateAspects.
      Specified by:
      setSetupDurationModel in interface IDtoDevice
    • getTeardownCostModel

      public String getTeardownCostModel()
      The parameters for the default teardown costs for this device. If you provide your own setupCalculator, you can just set some simple model for all devices (and decide how/if you use the default value). May only use the declared deviceStateAspects.
      Specified by:
      getTeardownCostModel in interface IDtoDevice
    • setTeardownCostModel

      public void setTeardownCostModel(String teardownCostModel)
      The parameters for the default teardown costs for this device. If you provide your own setupCalculator, you can just set some simple model for all devices (and decide how/if you use the default value). May only use the declared deviceStateAspects.
      Specified by:
      setTeardownCostModel in interface IDtoDevice
    • getTeardownDurationModel

      public String getTeardownDurationModel()
      The parameters for the default teardown durations for this device. If you provide your own setupCalculator, you can just set some simple model for all devices (and decide how/if you use the default value). May only use the declared deviceStateAspects.
      Specified by:
      getTeardownDurationModel in interface IDtoDevice
    • setTeardownDurationModel

      public void setTeardownDurationModel(String teardownDurationModel)
      The parameters for the default teardown durations for this device. If you provide your own setupCalculator, you can just set some simple model for all devices (and decide how/if you use the default value). May only use the declared deviceStateAspects.
      Specified by:
      setTeardownDurationModel in interface IDtoDevice
    • getAvailabilities

      public IDtoDeviceAvailability[] getAvailabilities()
      Available times on this device. Per default, the device is available always.
      Specified by:
      getAvailabilities in interface IDtoDevice
    • setAvailabilities

      public void setAvailabilities(IDtoDeviceAvailability[] availabilities)
      Available times on this device. Per default, the device is available always.
      Specified by:
      setAvailabilities in interface IDtoDevice
    • getReservations

      public IDtoDeviceReservation[] getReservations()
      Reserved times on this device.
      Specified by:
      getReservations in interface IDtoDevice
    • setReservations

      public void setReservations(IDtoDeviceReservation[] reservations)
      Reserved times on this device.
      Specified by:
      setReservations in interface IDtoDevice
    • withId

      public DtoDevice withId(String id)
    • withDeviceStateDeclaration

      public DtoDevice withDeviceStateDeclaration(IDtoDeviceStateAspectDeclaration[] deviceStateDeclaration)
      The deviceStateAspects of this devices, including initial values. The transitionModel may only use these aspects. If processes used in this device provide aspect keys not listed here, they will not be used. If processes used in this device fail to provide one of the aspect keys listed here, the initial value will be used for that key.#TODO ask LL or we validate and throw some MissingKeyError.
    • withProcesses

      public DtoDevice withProcesses(String[] processes)
      The different processes this Device can execute (OR). May not be empty.#TODO ask LL or add Has to obey the deviceStateDeclaration.
    • withCapacity

      public DtoDevice withCapacity(IDtoDeviceCapacity capacity)
      If/with how much capacity the device can run its available processes in parallel. If not set, the device can only produce one job at a time.
    • withSetupCostModel

      public DtoDevice withSetupCostModel(String setupCostModel)
      The parameters for the default setup costs for this device. If you provide your own setupCalculator, you can just set some simple model for all devices (and decide how/if you use the default value). May only use the declared deviceStateAspects.
    • withSetupDurationModel

      public DtoDevice withSetupDurationModel(String setupDurationModel)
      The parameters for the default setup durations for this device. If you provide your own setupCalculator, you can just set some simple model for all devices (and decide how/if you use the default value). May only use the declared deviceStateAspects.
    • withTeardownCostModel

      public DtoDevice withTeardownCostModel(String teardownCostModel)
      The parameters for the default teardown costs for this device. If you provide your own setupCalculator, you can just set some simple model for all devices (and decide how/if you use the default value). May only use the declared deviceStateAspects.
    • withTeardownDurationModel

      public DtoDevice withTeardownDurationModel(String teardownDurationModel)
      The parameters for the default teardown durations for this device. If you provide your own setupCalculator, you can just set some simple model for all devices (and decide how/if you use the default value). May only use the declared deviceStateAspects.
    • withAvailabilities

      public DtoDevice withAvailabilities(IDtoDeviceAvailability[] availabilities)
      Available times on this device. Per default, the device is available always.
    • withReservations

      public DtoDevice withReservations(IDtoDeviceReservation[] reservations)
      Reserved times on this device.
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object