Package org.eclipse.m2m.atl.emftvm.impl

# Class RuleImpl.ManualState

java.lang.Object
org.eclipse.m2m.atl.emftvm.impl.RuleImpl.RuleModeState
org.eclipse.m2m.atl.emftvm.impl.RuleImpl.ManualState

Enclosing class:
  `RuleImpl`

protected class RuleImpl.ManualState extends RuleImpl.RuleModeState
`RuleImpl.RuleModeState` class for rules with mode `RuleMode.MANUAL`.

## Constructor Summary

Constructors
Modifier
Constructor
Description
`protected`
`ManualState()`

## Method Summary

Modifier and Type
Method
Description
`boolean`
`matchFor(StackFrame frame, Object[] values)`
Matches this rule against `values`, and records a match in `ExecEnv.getMatches()` in case of a match.
`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.
`Object`
`matchManual(StackFrame frame, Object[] values)`
Matches
invalid reference

    #getRule()

manually, if applicable.
`protected Set<Rule>`
`matchManualSubRules(Rule rule, StackFrame frame, Map<String,Object> valuesMap)`
Matches the sub-rules of the given rule manually.
`TraceLink`
`matchManualTrace(StackFrame frame, Object[] values)`
Matches
invalid reference

    #getRule()

manually, if applicable.

### Methods inherited from class org.eclipse.m2m.atl.emftvm.impl.RuleImpl.RuleModeState

`matchRecursive, matchSingle`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### ManualState

protected ManualState()

## Method Details

### matchManual

public Object matchManual(StackFrame frame, Object[] values)
Matches
invalid reference

    #getRule()

manually, if applicable.

Overrides:
  `matchManual` in class `RuleImpl.RuleModeState`
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

### matchManualTrace

public TraceLink matchManualTrace(StackFrame frame, Object[] values)
Matches
invalid reference

    #getRule()

manually, if applicable. Because this method returns the application trace rather than the return value, it can be invoked in a reentrant manner (i.e. while still evaluating the previous invocation).

Overrides:
  `matchManualTrace` in class `RuleImpl.RuleModeState`
Parameters:
  `frame` - the stack frame in which to execute the matcher
  `values` - the values to match against
Returns:
  the rule application trace, or `null` if the rule did not match

### matchManualSubRules

protected Set<Rule> matchManualSubRules(Rule rule, StackFrame frame, Map<String,Object> valuesMap)
Matches the sub-rules of the given rule manually.

Parameters:
  `rule` - the rule for which to match the sub-rules
  `frame` - the stack frame context
  `valuesMap` - the map of all values, including super-rule elements
Returns:
  the matching (non-abstract) sub-rules

### 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.RuleModeState`
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.RuleModeState`
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`