/* Generated By:JJTree: Do not edit this line. Statement.java Version 4.3 */
/* JavaCCOptions:MULTI=true,NODE_USES_PARSER=true,VISITOR=true,TRACK_TOKENS=false,NODE_PREFIX=,NODE_EXTENDS=,NODE_FACTORY=,SUPPORT_CLASS_VISIBILITY_PUBLIC=true */
package org.teiid.query.sql.proc;
import org.teiid.designer.query.sql.proc.IStatement;
import org.teiid.designer.runtime.version.spi.ITeiidServerVersion;
import org.teiid.query.parser.LanguageVisitor;
import org.teiid.query.sql.lang.SimpleNode;
/**
*
*/
public abstract class Statement extends SimpleNode implements IStatement<LanguageVisitor> {
/**
* Types of statement
*/
public enum StatementType {
/**
* Represents an unknown type of statement
*/
TYPE_UNKNOWN,
/**
* Represents a IF statement
*/
TYPE_IF,
/**
* Represents a SQL COMMAND statement
*/
TYPE_COMMAND,
/**
* Represents a DECLARE statement
*/
TYPE_DECLARE,
/**
* Represents a ERROR statement
*/
TYPE_ERROR,
/**
* Represents a ASSIGNMENT statement
*/
TYPE_ASSIGNMENT,
/**
* Represents a LOOP statement
*/
TYPE_LOOP,
/**
* Represents a WHILE statement
*/
TYPE_WHILE,
/**
* Represents a CONTINUE statement
*/
TYPE_CONTINUE,
/**
* Represents a BREAK statement
*/
TYPE_BREAK,
/**
* Represents a UPDATE statement
*/
TYPE_UPDATE,
/**
* Represents a COMPOUND statement
*/
TYPE_COMPOUND,
/**
* Represents a LEAVE statement
*/
TYPE_LEAVE,
/**
* Represents a RETURN statement
*/
TYPE_RETURN;
}
/**
* @param p
* @param id
*/
public Statement(ITeiidServerVersion p, int id) {
super(p, id);
}
/**
* Return type of statement to make it easier to build switch statements by statement type.
* @return Type from TYPE constants
*/
public abstract StatementType getType();
/**
* Deep clone statement to produce a new identical statement.
* @return Deep clone
*/
@Override
public abstract Statement clone();
/** Accept the visitor. **/
@Override
public void acceptVisitor(LanguageVisitor visitor) {
visitor.visit(this);
}
}
/* JavaCC - OriginalChecksum=f7567f59a5c45e144164cfa33217c65a (do not edit this line) */