Interface Parameters

All Known Implementing Classes:
ParameterSet

public interface Parameters
Interface for parameter objects containing the methods for during a simulation.

Copyright (c) 2013-2024 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved.
BSD-style license. See OpenTrafficSim License.

Author:
Alexander Verbraeck, Peter Knoppers, Wouter Schakel
  • Method Details

    • setParameter

      <T> void setParameter(ParameterType<T> parameterType, T value) throws ParameterException
      Set parameter value of given parameter type.
      Type Parameters:
      T - class of value
      Parameters:
      parameterType - the parameter type
      value - new value for the parameter of type parameterType
      Throws:
      ParameterException - if the value does not comply with value type constraints or is claimed
    • setClaimedParameter

      <T> void setClaimedParameter(ParameterType<T> parameterType, T value, Object key) throws ParameterException
      Set parameter value of given parameter type. This method claims setting the value by the key. No other key may be used to set the parameter.
      Type Parameters:
      T - class of value
      Parameters:
      parameterType - the parameter type
      value - new value for the parameter of type parameterType
      key - key object for unique right to set the parameter value
      Throws:
      ParameterException - if the value does not comply with value type constraints or is claimed by another key
    • setParameterResettable

      <T> void setParameterResettable(ParameterType<T> parameterType, T value) throws ParameterException
      Set parameter value of given parameter type, store old value to allow a reset. This method ignores any claim on the parameter, and should always be followed by a reset.
      Type Parameters:
      T - class of value
      Parameters:
      parameterType - the parameter type
      value - new value for the parameter of type parameterType
      Throws:
      ParameterException - if the value does not comply with value type constraints
    • resetParameter

      void resetParameter(ParameterType<?> parameterType) throws ParameterException
      Resets the parameter value to the value from before the last resettable set. This goes only a single value back.
      Parameters:
      parameterType - the parameter type
      Throws:
      ParameterException - if the parameter was never set
      NullPointerException - when any input is null
    • getParameter

      <T> T getParameter(ParameterType<T> parameterType) throws ParameterException
      Get parameter of given type.
      Type Parameters:
      T - class of value
      Parameters:
      parameterType - the parameter type
      Returns:
      parameter of the requested type if it exists
      Throws:
      ParameterException - if the parameter was never set
    • getOptionalParameter

      <T> Optional<T> getOptionalParameter(ParameterType<T> parameterType)
      Returns a parameter value, or null if not present. This can be used to prevent frequent calls to both contains() and getParameter() in performance critical code.
      Type Parameters:
      T - type of parameter value
      Parameters:
      parameterType - parameter type
      Returns:
      parameter value, empty if not present
    • contains

      boolean contains(ParameterType<?> parameterType)
      Indicate whether the given parameter type has been set.
      Parameters:
      parameterType - the parameter type to check
      Returns:
      true if parameterType has been set; false if parameterType has not been set
    • setAllIn

      void setAllIn(Parameters parameters)
      Sets the parameters of this set in the given set.
      Parameters:
      parameters - parameters to set the values in