Package org.teiid.query.processor.proc
Class WhileInstruction
- java.lang.Object
-
- org.teiid.query.processor.proc.ProgramInstruction
-
- org.teiid.query.processor.proc.WhileInstruction
-
- All Implemented Interfaces:
Cloneable
,RepeatedInstruction
,Statement.Labeled
public class WhileInstruction extends ProgramInstruction implements RepeatedInstruction
-
-
Constructor Summary
Constructors Constructor Description WhileInstruction(Program program, Criteria condition, String label)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description WhileInstruction
clone()
Returns a deep clonePlanNode
getDescriptionProperties()
String
getLabel()
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.Boolean
requiresTransaction(boolean transactionalReads)
void
setLabel(String label)
boolean
testCondition(ProcedurePlan procEnv)
String
toString()
-
-
-
Method Detail
-
getLabel
public String getLabel()
- Specified by:
getLabel
in interfaceStatement.Labeled
-
setLabel
public void setLabel(String label)
- Specified by:
setLabel
in interfaceStatement.Labeled
-
process
public void process(ProcedurePlan env) 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 simplyincrement
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 classProgramInstruction
- Throws:
TeiidComponentException
-
getWhileProgram
public Program getWhileProgram()
-
clone
public WhileInstruction clone()
Returns a deep clone- Overrides:
clone
in classProgramInstruction
- Returns:
- shallow clone
-
getDescriptionProperties
public PlanNode getDescriptionProperties()
- Specified by:
getDescriptionProperties
in classProgramInstruction
-
testCondition
public boolean testCondition(ProcedurePlan procEnv) throws TeiidComponentException, TeiidProcessingException
- Specified by:
testCondition
in interfaceRepeatedInstruction
- Throws:
TeiidProcessingException
TeiidComponentException
-
getNestedProgram
public Program getNestedProgram()
- Specified by:
getNestedProgram
in interfaceRepeatedInstruction
- See Also:
RepeatedInstruction.getNestedProgram()
-
postInstruction
public void postInstruction(ProcedurePlan procEnv) throws TeiidComponentException
- Specified by:
postInstruction
in interfaceRepeatedInstruction
- Throws:
TeiidComponentException
-
requiresTransaction
public Boolean requiresTransaction(boolean transactionalReads)
- Overrides:
requiresTransaction
in classProgramInstruction
-
-