com.metamatrix.query.processor.proc
Class WhileInstruction

java.lang.Object
  extended by com.metamatrix.query.processor.program.ProgramInstruction
      extended by com.metamatrix.query.processor.proc.WhileInstruction
All Implemented Interfaces:
Describable, RepeatedInstruction, java.lang.Cloneable

public class WhileInstruction
extends ProgramInstruction
implements RepeatedInstruction


Field Summary
 
Fields inherited from interface com.metamatrix.query.processor.Describable
PROP_BINDINGS, PROP_CHILDREN, PROP_CONDITIONS, PROP_CRITERIA, PROP_DATA_COL, PROP_DEFAULT, PROP_DEFAULT_PROGRAM, PROP_ELSE, PROP_ENCODING, PROP_EXECUTION_PLAN, PROP_EXPRESSION, PROP_FORMATTED, PROP_GROUP, PROP_GROUP_COLS, PROP_IN_MEMORY, PROP_INTO_GROUP, PROP_IS_STAGING, PROP_JOIN_CRITERIA, PROP_JOIN_STRATEGY, PROP_JOIN_TYPE, PROP_MESSAGE, PROP_MODEL_NAME, PROP_NAMESPACE, PROP_NAMESPACE_DECL, PROP_NODE_COST_ESTIMATES, PROP_NODE_STATS_LIST, PROP_NODE_STATS_PROPS, PROP_OPTIONAL, PROP_OUTPUT_COLS, PROP_PROGRAM, PROP_PROGRAMS, PROP_RECURSE_DIR, PROP_REMOVE_DUPS, PROP_RESULT_SET, PROP_ROW_LIMIT, PROP_ROW_OFFSET, PROP_SELECT_COLS, PROP_SORT_COLS, PROP_SQL, PROP_TAG, PROP_THEN, PROP_TYPE, PROP_VARIABLE
 
Constructor Summary
WhileInstruction(Program program, Criteria condition)
           
 
Method Summary
 java.lang.Object clone()
          Returns a deep clone
 java.util.Collection getChildPlans()
          Finds all nested plans and returns them.
 java.util.Map getDescriptionProperties()
          Get a description as a set of properties of primitive types such as String, Integer, etc.
 Program getNestedProgram()
           
 Program getWhileProgram()
           
 void postInstruction(ProcedurePlan procEnv)
           
 void process(ProcedurePlan env)
          Allow this instruction to do whatever processing it needs, and to in turn manipulate the running program, (via the ProcessorEnvironment getProgramStack method.) A typical instruction should simply increment the program counter of the current program, but specialized instructions may add sub programs to the stack or not increment the counter (so that they are executed again.)
 boolean testCondition(ProcedurePlan procEnv)
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

WhileInstruction

public WhileInstruction(Program program,
                        Criteria condition)
Method Detail

process

public void process(ProcedurePlan env)
             throws MetaMatrixComponentException
Description copied from class: ProgramInstruction
Allow this instruction to do whatever processing it needs, and to in turn manipulate the running program, (via the ProcessorEnvironment getProgramStack method.) A typical instruction should simply increment the program counter of the current program, but specialized instructions may add sub programs to the stack or not increment the counter (so that they are executed again.)

Specified by:
process in class ProgramInstruction
Throws:
MetaMatrixComponentException

getWhileProgram

public Program getWhileProgram()

clone

public java.lang.Object clone()
Returns a deep clone

Overrides:
clone in class ProgramInstruction
Returns:
shallow clone

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

getDescriptionProperties

public java.util.Map getDescriptionProperties()
Description copied from interface: Describable
Get a description as a set of properties of primitive types such as String, Integer, etc.

Specified by:
getDescriptionProperties in interface Describable
Overrides:
getDescriptionProperties in class ProgramInstruction
Returns:
Map of properties

getChildPlans

public java.util.Collection getChildPlans()
Description copied from class: ProgramInstruction
Finds all nested plans and returns them.

Overrides:
getChildPlans in class ProgramInstruction
Returns:
List of ProcessorPlan
Since:
4.2
See Also:
ProgramInstruction.getChildPlans()

testCondition

public boolean testCondition(ProcedurePlan procEnv)
                      throws MetaMatrixComponentException,
                             MetaMatrixProcessingException
Specified by:
testCondition in interface RepeatedInstruction
Throws:
MetaMatrixProcessingException
MetaMatrixComponentException
See Also:
com.metamatrix.query.processor.proc.RepeatedInstruction#testCondition(com.metamatrix.query.processor.proc.ProcedureEnvironment)

getNestedProgram

public Program getNestedProgram()
Specified by:
getNestedProgram in interface RepeatedInstruction
See Also:
RepeatedInstruction.getNestedProgram()

postInstruction

public void postInstruction(ProcedurePlan procEnv)
                     throws MetaMatrixComponentException
Specified by:
postInstruction in interface RepeatedInstruction
Throws:
MetaMatrixComponentException
See Also:
com.metamatrix.query.processor.proc.RepeatedInstruction#postInstruction(com.metamatrix.query.processor.proc.ProcedureEnvironment)


Copyright © 2009. All Rights Reserved.