Class RuleImpl.UniqueOffState

java.lang.Object
org.eclipse.m2m.atl.emftvm.impl.RuleImpl.UniqueState
org.eclipse.m2m.atl.emftvm.impl.RuleImpl.UniqueOffState
Enclosing class:
RuleImpl

protected class RuleImpl.UniqueOffState extends RuleImpl.UniqueState
RuleImpl.UniqueState class for rules with Rule.isUnique() set to false.
  • Constructor Details

    • UniqueOffState

      protected UniqueOffState()
  • Method Details

    • createUniqueMapping

      public void createUniqueMapping(TraceLink trace)
      Creates a unique trace mapping entry for the source values in trace, if applicable.
      Specified by:
      createUniqueMapping in class RuleImpl.UniqueState
      Parameters:
      trace - the trace element with source values
    • checkAndCreateUniqueMapping

      public void checkAndCreateUniqueMapping(TracedRule tr, org.eclipse.emf.common.util.EList<SourceElement> ses)
      Checks for existence and creates a unique trace mapping entry for the source values in ses, if applicable.
      Specified by:
      checkAndCreateUniqueMapping in class RuleImpl.UniqueState
      Parameters:
      tr - the traced rule to add the unique traces to
      ses - the source values that serve as a the unique trace key
    • matchFor

      public boolean matchFor(StackFrame frame, Object[] values)
      Matches this rule against values, and records a match in ExecEnv.getMatches() in case of a match. In case of a unique rule, this method will not match if the rule has already matched against values before.
      Specified by:
      matchFor in class RuleImpl.UniqueState
      Parameters:
      frame - the stack frame context
      values - the source values to match against
      Returns:
      true iff this rule matches against values
    • matchFor

      public boolean matchFor(StackFrame frame, Map<String,Object> valuesMap, Object[] values)
      Matches this rule against values, and records a match in ExecEnv.getMatches() in case of a match. In case of a unique rule, this method will not match if the rule has already matched against values before.
      Specified by:
      matchFor in class RuleImpl.UniqueState
      Parameters:
      frame - the stack frame context
      valuesMap - the map of all values, including super-rule elements
      values - the source values to match against
      Returns:
      true iff this rule matches against values