Class RuleImpl.RuleModeState

    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected RuleModeState()  
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      abstract boolean matchFor​(StackFrame frame, java.lang.Object[] values)
      Matches this rule against values, and records a match in ExecEnv.getMatches() in case of a match.
      abstract boolean matchFor​(StackFrame frame, java.util.Map<java.lang.String,​java.lang.Object> valuesMap, java.lang.Object[] values)
      Matches this rule against values, and records a match in ExecEnv.getMatches() in case of a match.
      java.lang.Object matchManual​(StackFrame frame, java.lang.Object[] values)
      Matches #getRule() manually, if applicable.
      boolean[] matchRecursive​(StackFrame frame)
      Matches #getRule() for the automatic recursive stage, if applicable.
      boolean matchSingle​(StackFrame frame)
      Matches #getRule() for the automatic single stage, if applicable.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • RuleModeState

        protected RuleModeState()
    • Method Detail

      • matchSingle

        public boolean matchSingle​(StackFrame frame)
        Matches #getRule() for the automatic single stage, if applicable.
        Parameters:
        frame - the stack frame in which to execute the matcher
        Returns:
        true iff the rule has any matches
      • matchRecursive

        public boolean[] matchRecursive​(StackFrame frame)
        Matches #getRule() for the automatic recursive stage, if applicable.
        Parameters:
        frame - the stack frame in which to execute the matcher
        Returns:
        true iff the rule has any matches
      • matchManual

        public java.lang.Object matchManual​(StackFrame frame,
                                            java.lang.Object[] values)
        Matches #getRule() manually, if applicable.
        Parameters:
        frame - the stack frame in which to execute the matcher
        values - the values to match against
        Returns:
        the rule application result, or null if the rule did not match
        Throws:
        VMException - if this is not a RuleMode.MANUAL rule
      • matchFor

        public abstract boolean matchFor​(StackFrame frame,
                                         java.lang.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.
        Parameters:
        frame - the stack frame context
        values - the source values to match against
        Returns:
        true iff this rule matches against values
      • matchFor

        public abstract boolean matchFor​(StackFrame frame,
                                         java.util.Map<java.lang.String,​java.lang.Object> valuesMap,
                                         java.lang.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.
        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