org.teiid.query.processor.proc
Class LoopInstruction

java.lang.Object
  extended by org.teiid.query.processor.proc.ProgramInstruction
      extended by org.teiid.query.processor.proc.CreateCursorResultSetInstruction
          extended by org.teiid.query.processor.proc.LoopInstruction
All Implemented Interfaces:
java.lang.Cloneable, RepeatedInstruction

public class LoopInstruction
extends CreateCursorResultSetInstruction
implements RepeatedInstruction


Field Summary
 
Fields inherited from class org.teiid.query.processor.proc.CreateCursorResultSetInstruction
plan, RS_NAME, rsName
 
Constructor Summary
LoopInstruction(Program loopProgram, java.lang.String rsName, ProcessorPlan plan)
           
 
Method Summary
 LoopInstruction clone()
          Returns a deep clone
 PlanNode getDescriptionProperties()
           
 Program getNestedProgram()
           
 void postInstruction(ProcedurePlan procEnv)
           
 void process(ProcedurePlan procEnv)
          Allow this instruction to do whatever processing it needs, and to in turn manipulate the running program.
 boolean testCondition(ProcedurePlan procEnv)
           
 java.lang.String toString()
           
 
Methods inherited from class org.teiid.query.processor.proc.CreateCursorResultSetInstruction
getCommand, setProcAssignments
 
Methods inherited from class org.teiid.query.processor.proc.ProgramInstruction
getChildPlans
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

LoopInstruction

public LoopInstruction(Program loopProgram,
                       java.lang.String rsName,
                       ProcessorPlan plan)
Method Detail

process

public void process(ProcedurePlan procEnv)
             throws TeiidComponentException
Description copied from class: ProgramInstruction
Allow this instruction to do whatever processing it needs, and to in turn manipulate the running program. 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.)

Overrides:
process in class CreateCursorResultSetInstruction
Throws:
TeiidComponentException

clone

public LoopInstruction clone()
Returns a deep clone

Overrides:
clone in class CreateCursorResultSetInstruction
Returns:
shallow clone

toString

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

getDescriptionProperties

public PlanNode getDescriptionProperties()
Overrides:
getDescriptionProperties in class CreateCursorResultSetInstruction

testCondition

public boolean testCondition(ProcedurePlan procEnv)
                      throws TeiidComponentException,
                             TeiidProcessingException
Specified by:
testCondition in interface RepeatedInstruction
Throws:
TeiidComponentException
TeiidProcessingException

getNestedProgram

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

postInstruction

public void postInstruction(ProcedurePlan procEnv)
                     throws TeiidComponentException
Specified by:
postInstruction in interface RepeatedInstruction
Throws:
TeiidComponentException


Copyright © 2010. All Rights Reserved.