Package org.teiid.query.sql.proc
Class LoopStatement
- java.lang.Object
-
- org.teiid.query.sql.proc.Statement
-
- org.teiid.query.sql.proc.LoopStatement
-
- All Implemented Interfaces:
Cloneable
,SubqueryContainer
,LanguageObject
,Statement.Labeled
public class LoopStatement extends Statement implements SubqueryContainer, Statement.Labeled
This class represents a loop statement in the storedprocedure language to cursor through a result set. It extends the
Statement
that could part of a block. This statement has a block, a select statement and a cursor. determines which block should be executed..
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.teiid.query.sql.proc.Statement
Statement.Labeled
-
Nested classes/interfaces inherited from interface org.teiid.query.sql.LanguageObject
LanguageObject.Util
-
Nested classes/interfaces inherited from interface org.teiid.query.sql.lang.SubqueryContainer
SubqueryContainer.Evaluatable<T extends Command>
-
-
Field Summary
-
Fields inherited from class org.teiid.query.sql.proc.Statement
TYPE_ASSIGNMENT, TYPE_BREAK, TYPE_COMMAND, TYPE_COMPOUND, TYPE_CONTINUE, TYPE_DECLARE, TYPE_ERROR, TYPE_IF, TYPE_LEAVE, TYPE_LOOP, TYPE_RETURN, TYPE_UNKNOWN, TYPE_UPDATE, TYPE_WHILE
-
-
Constructor Summary
Constructors Constructor Description LoopStatement(Block block, Command query, String cursorName)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
acceptVisitor(LanguageVisitor visitor)
Method for accepting a visitor.Object
clone()
Deep clone statement to produce a new identical statement.boolean
equals(Object obj)
Compare two LoopStatements for equality.Block
getBlock()
Command
getCommand()
Returns the subquery Command objectString
getCursorName()
String
getLabel()
int
getType()
Return the type for this statement, this is one of the types defined on the statement object.int
hashCode()
Get hashcode for LoopStatement.void
setBlock(Block block)
void
setCommand(Command command)
Sets the command.void
setCommand(Query query)
void
setCursorName(String cursorName)
void
setLabel(String label)
-
-
-
Method Detail
-
getLabel
public String getLabel()
- Specified by:
getLabel
in interfaceStatement.Labeled
-
setLabel
public void setLabel(String label)
- Specified by:
setLabel
in interfaceStatement.Labeled
-
getCursorName
public String getCursorName()
- Returns:
-
getBlock
public Block getBlock()
- Returns:
-
getCommand
public Command getCommand()
Description copied from interface:SubqueryContainer
Returns the subquery Command object- Specified by:
getCommand
in interfaceSubqueryContainer
- Returns:
-
setCommand
public void setCommand(Command command)
Sets the command.- Specified by:
setCommand
in interfaceSubqueryContainer
- Parameters:
command
- the subquery Command object
-
setCursorName
public void setCursorName(String cursorName)
-
setBlock
public void setBlock(Block block)
- Parameters:
block
-
-
setCommand
public void setCommand(Query query)
- Parameters:
query
-
-
getType
public int getType()
Return the type for this statement, this is one of the types defined on the statement object.
-
acceptVisitor
public void acceptVisitor(LanguageVisitor visitor)
Description copied from interface:LanguageObject
Method for accepting a visitor. It is the responsibility of the language object to call back on the visitor.- Specified by:
acceptVisitor
in interfaceLanguageObject
- Parameters:
visitor
- Visitor being used
-
clone
public Object clone()
Deep clone statement to produce a new identical statement.- Specified by:
clone
in interfaceLanguageObject
- Specified by:
clone
in classStatement
- Returns:
- Deep clone
-
equals
public boolean equals(Object obj)
Compare two LoopStatements for equality. They will only evaluate to equal if they are IDENTICAL: the blocks is same, the query is same, and the cursor name is same.
-
-