Package org.eclipse.m2m.atl.emftvm.impl
Class RuleImpl.RuleModeState
- java.lang.Object
-
- org.eclipse.m2m.atl.emftvm.impl.RuleImpl.RuleModeState
-
- Direct Known Subclasses:
RuleImpl.AutomaticRecursiveState
,RuleImpl.AutomaticSingleState
,RuleImpl.ManualState
- Enclosing class:
- RuleImpl
protected abstract class RuleImpl.RuleModeState extends java.lang.Object
Base class for code that depends on the rule'sRule.getMode()
.
-
-
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 againstvalues
, and records a match inExecEnv.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 againstvalues
, and records a match inExecEnv.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.
-
-
-
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 matchervalues
- the values to match against- Returns:
- the rule application result, or
null
if the rule did not match - Throws:
VMException
- if this is not aRuleMode.MANUAL
rule
-
matchFor
public abstract boolean matchFor(StackFrame frame, java.lang.Object[] values)
Matches this rule againstvalues
, and records a match inExecEnv.getMatches()
in case of a match. In case of a unique rule, this method will not match if the rule has already matched againstvalues
before.- Parameters:
frame
- the stack frame contextvalues
- the source values to match against- Returns:
true
iff this rule matches againstvalues
-
matchFor
public abstract boolean matchFor(StackFrame frame, java.util.Map<java.lang.String,java.lang.Object> valuesMap, java.lang.Object[] values)
Matches this rule againstvalues
, and records a match inExecEnv.getMatches()
in case of a match. In case of a unique rule, this method will not match if the rule has already matched againstvalues
before.- Parameters:
frame
- the stack frame contextvaluesMap
- the map of all values, including super-rule elementsvalues
- the source values to match against- Returns:
true
iff this rule matches againstvalues
-
-