Class IndexAccessor


class IndexAccessor extends AbstractDecisionVariableEvaluationAccessor
Implements an accessor for index access. May lead to a constant value after evaluation.
Author:
Holger Eichelberger
  • Field Details

    • POOL

      public static final net.ssehub.easy.basics.pool.Pool<IndexAccessor> POOL
    • index

      private int index
  • Constructor Details

    • IndexAccessor

      private IndexAccessor()
      Creates an instance. Private due to pooling.
  • Method Details

    • bind

      protected IndexAccessor bind(IDecisionVariable variable, EvaluationContext context, int index)
      Binds this accessor.
      Parameters:
      variable - the underlying variable
      context - the evaluation context
      index - the index into the variable
      Returns:
      this (builder pattern)
    • getValue

      public Value getValue()
      Description copied from class: EvaluationAccessor
      Returns the value of the accessed element.
      Specified by:
      getValue in class EvaluationAccessor
      Returns:
      the value (may be null if undefined)
    • setValue

      public boolean setValue(Value value, boolean asAssignment)
      Description copied from class: EvaluationAccessor
      Defines a new value for the accessed element. In case of failures, add appropriate messages to the context.
      Specified by:
      setValue in class EvaluationAccessor
      Parameters:
      value - the new value
      asAssignment - does this happen through an IVML assignment operation
      Returns:
      true if successful, false else
    • isAssignable

      public boolean isAssignable()
      Description copied from class: EvaluationAccessor
      Returns whether values can be assigned to this evaluator.
      Specified by:
      isAssignable in class EvaluationAccessor
      Returns:
      true if values can be assigned, false else
    • release

      public void release()
      Description copied from class: EvaluationAccessor
      Releases this instance.
      Specified by:
      release in class EvaluationAccessor
    • getReferenceValue

      public Value getReferenceValue()
      Description copied from class: EvaluationAccessor
      Returns the value of a reference to the accessed element.
      Overrides:
      getReferenceValue in class AbstractDecisionVariableEvaluationAccessor
      Returns:
      the value (may be null if undefined)