org.sintef.mofscript.runtime.statement
Class IteratorStatementExecutor

java.lang.Object
  extended by org.sintef.mofscript.runtime.statement.StatementExecutor
      extended by org.sintef.mofscript.runtime.statement.IteratorStatementExecutor
All Implemented Interfaces:
MofScriptExecuter, BreakStatementListener

public class IteratorStatementExecutor
extends StatementExecutor
implements BreakStatementListener

Handles forEach statements

Author:
jol

Field Summary
 
Fields inherited from class org.sintef.mofscript.runtime.statement.StatementExecutor
_breakContext, _env, _ownerRule, _statement
 
Constructor Summary
IteratorStatementExecutor(MOFScriptStatement statement, ExecutionEnvironment env, RuleExecutor ownerRule)
           
 
Method Summary
protected  void addLocalVariables(IteratorStatement itSt, ExecutionEnvironment env)
          Adds local variables to the environment
 void breakExecuted(MOFScriptStatementOwner ownedContext)
          BreakSTatementListener event operations
protected  void executeContainedStatements(IteratorStatement itstatement, ExecutionEnvironment itEnv, java.lang.Object rule_create)
           
 java.lang.Object executeStatement(java.lang.Object rule_create)
          Overrides superclass executeStatement
protected  java.lang.Object getBetweenValue(IteratorStatement itstatement, ExecutionEnvironment itEnv)
           
protected  org.eclipse.emf.ecore.EClass getEClassForEObject(java.lang.String metaModelRef, org.eclipse.emf.ecore.EObject eobj)
           
protected  void handleAttributeIterator(IteratorStatement itstatement, java.lang.Object referenceValue, java.lang.String forname, java.lang.Object rule_create)
           
protected  void handleIntegerIterator(IteratorStatement itstatement, int intValue, java.lang.String forname, VariableDeclaration iteratorVariable, ExecutionEnvironment itEnv, java.lang.Object rule_create)
          Iterator for an integer
protected  void handleStringIterator(IteratorStatement itstatement, java.lang.String strBuf, java.lang.String forname, VariableDeclaration iteratorVariable, ExecutionEnvironment itEnv, java.lang.Object rule_create)
          Iterator for a String buffer
protected  void handleVariableIterator(java.lang.Object variable, IteratorStatement itstatement, java.lang.String metaModelRef, java.lang.String fortype, org.eclipse.emf.ecore.EClassifier forclazz, java.lang.String forname, java.lang.Object rule_create)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

IteratorStatementExecutor

public IteratorStatementExecutor(MOFScriptStatement statement,
                                 ExecutionEnvironment env,
                                 RuleExecutor ownerRule)
Method Detail

executeStatement

public java.lang.Object executeStatement(java.lang.Object rule_create)
                                  throws MofScriptExecutionException
Overrides superclass executeStatement

Overrides:
executeStatement in class StatementExecutor
Throws:
MofScriptExecutionException

handleAttributeIterator

protected void handleAttributeIterator(IteratorStatement itstatement,
                                       java.lang.Object referenceValue,
                                       java.lang.String forname,
                                       java.lang.Object rule_create)

handleVariableIterator

protected void handleVariableIterator(java.lang.Object variable,
                                      IteratorStatement itstatement,
                                      java.lang.String metaModelRef,
                                      java.lang.String fortype,
                                      org.eclipse.emf.ecore.EClassifier forclazz,
                                      java.lang.String forname,
                                      java.lang.Object rule_create)
                               throws MofScriptExecutionException
Throws:
MofScriptExecutionException

handleStringIterator

protected void handleStringIterator(IteratorStatement itstatement,
                                    java.lang.String strBuf,
                                    java.lang.String forname,
                                    VariableDeclaration iteratorVariable,
                                    ExecutionEnvironment itEnv,
                                    java.lang.Object rule_create)
Iterator for a String buffer

Parameters:
itstatement -
strBuf -
forname -
iteratorVariable -
itEnv -
rule_create -

handleIntegerIterator

protected void handleIntegerIterator(IteratorStatement itstatement,
                                     int intValue,
                                     java.lang.String forname,
                                     VariableDeclaration iteratorVariable,
                                     ExecutionEnvironment itEnv,
                                     java.lang.Object rule_create)
Iterator for an integer

Parameters:
itstatement -
strBuf -
forname -
iteratorVariable -
itEnv -
rule_create -

executeContainedStatements

protected void executeContainedStatements(IteratorStatement itstatement,
                                          ExecutionEnvironment itEnv,
                                          java.lang.Object rule_create)

getEClassForEObject

protected org.eclipse.emf.ecore.EClass getEClassForEObject(java.lang.String metaModelRef,
                                                           org.eclipse.emf.ecore.EObject eobj)

addLocalVariables

protected void addLocalVariables(IteratorStatement itSt,
                                 ExecutionEnvironment env)
Adds local variables to the environment

Parameters:
ifSt -
env -

getBetweenValue

protected java.lang.Object getBetweenValue(IteratorStatement itstatement,
                                           ExecutionEnvironment itEnv)

breakExecuted

public void breakExecuted(MOFScriptStatementOwner ownedContext)
BreakSTatementListener event operations

Specified by:
breakExecuted in interface BreakStatementListener