Class RegStateDom

java.lang.Object
org.jacop.constraints.regular.RegState
org.jacop.constraints.regular.RegStateDom

public class RegStateDom extends RegState
It is a state representation which uses a domain representation to represent all integers which can transition from this state to the given successor state.
Version:
4.8
  • Field Details

  • Constructor Details

    • RegStateDom

      public RegStateDom(int level, int id, int sucNumber, int posInArray)
      It constructs a state.
      Parameters:
      level - the position of the associated variable with the state.
      id - the state id.
      sucNumber - the number of successors for this state.
      posInArray - the position within a states array for the level of this state.
  • Method Details

    • isActive

      public boolean isActive(TimeStamp<Integer>[] activeLevels)
      Description copied from class: RegState
      The function return if the state is still active. It depends on how many active levels remains for state level and the position of the state.
      Specified by:
      isActive in class RegState
      Parameters:
      activeLevels - -
      Returns:
      true is the state is still active.
    • removeTransition

      public void removeTransition(int pos)
      Description copied from class: RegState
      It informs the state that the edge on the given position is no longer active.
      Specified by:
      removeTransition in class RegState
      Parameters:
      pos - position of the edge.
    • addTransition

      public void addTransition(RegState suc, Integer val)
      Description copied from class: RegState
      It specifies that for a given value an automata will move from the current state to the successor state.
      Specified by:
      addTransition in class RegState
      Parameters:
      suc - successor state
      val - an accepting value
    • addTransitions

      public void addTransitions(RegState suc, IntervalDomain val)
      Description copied from class: RegState
      It specifies that for a given values from an interval an automata will move from the current state to the successor state.
      Specified by:
      addTransitions in class RegState
      Parameters:
      suc - successor state
      val - interval of accepting values.
    • intersects

      public boolean intersects(IntDomain dom, int successorNo)
      Description copied from class: RegState
      It checks if the accepting values associated with an edge intersect.
      Specified by:
      intersects in class RegState
      Parameters:
      dom - domain against which interesection is performed.
      successorNo - a position of the edge.
      Returns:
      true if at least one value associated with an edge intersects with domain.
    • setSupports

      public void setSupports(Map<Integer,RegEdge> hashMap, int i)
      Specified by:
      setSupports in class RegState
      Parameters:
      hashMap - It contains supports for all values of a given variable.
      i - it specifies the edge position.
    • sucDomToString

      public String sucDomToString(int successorNo)
      Specified by:
      sucDomToString in class RegState
      Parameters:
      successorNo - - edge position.
      Returns:
      It return the string representation of the values accepted by specified edge.
    • add

      public void add(IntDomain varDom, int successorNo)
      Description copied from class: RegState
      It adds to domain values which are accepted by a given edge.
      Specified by:
      add in class RegState
      Parameters:
      varDom - - domain collecting suported values.
      successorNo - - position of an edge from which values are collected.
    • updateSupport

      public boolean updateSupport(RegEdge edge, int v)
      Description copied from class: RegState
      It updates a support if given state supports given value.
      Specified by:
      updateSupport in class RegState
      Parameters:
      edge - information about support is stored here.
      v - value for which support is looked for.
      Returns:
      It returns true if state has an edge which supports given value.