planetj.database.sql
Class SQLStatement

java.lang.Object
  extended byplanetj.database.sql.SQLStatement
All Implemented Interfaces:
java.io.Serializable, TableStatement
Direct Known Subclasses:
CallStatement, CommentOnStatement, CreateAliasStatement, CreateIndexStatement, CreateProcedureStatement, CreateViewStatement, DeleteStatement, InsertStatement, LabelOnStatement, SelectStatement, UpdateStatement

public abstract class SQLStatement
extends java.lang.Object
implements TableStatement, java.io.Serializable

See Also:
Serialized Form

Field Summary
static int CALL_STATEMENT
           
static java.lang.String className
          Class name.
static int COMMENT_ON_STATEMENT
           
static int CREATE_ALIAS_STATEMENT
           
static int CREATE_INDEX_STATEMENT
           
static int CREATE_PROCEDURE_STATEMENT
           
static int CREATE_VIEW_STATEMENT
           
static int DELETE_STATEMENT
           
static int INSERT_STATEMENT
           
static int LABEL_ON_STATEMENT
           
static int SELECT_STATEMENT
           
static int UPDATE_STATEMENT
           
 
Constructor Summary
SQLStatement()
          SQLStatement constructor comment.
SQLStatement(java.lang.String pOriginalSQLString, SQLContext context)
          SQLStatement constructor comment.
 
Method Summary
protected  void addExpressionToken(java.lang.String expression, java.lang.Class expressionTokenClass)
          Adds an expression token to this statement based on an expression String and an ExpressionToken class
protected  AbstractExpressionToken createExpressionToken(java.lang.String expression, java.lang.Class expressionTokenClass)
          Creates an expression token based on an expression String and an ExpressionToken class
static SQLStatement createStatement(java.lang.String sql, SQLContext context)
           
static Table getAlteredTable(java.lang.String pSQL, java.lang.String pSystemAlias)
          Gets the table that will be altered by this SQL statement.
 SQLContext getContext()
          Gets the SQLContext from which this statement was created
 AbstractExpressionToken getExpressionToken()
          Gets the "first" expression token for this Statement.
 java.util.List getExpressionTokens()
          Gets the List of expression tokens for this Statement.
 java.lang.Class getExpressTokenClass()
          Deprecated.  
 byte getLibrarySupportLevel()
          Gets the library support level required by this statement
 java.lang.String getOriginalSQLString()
          Gets the original sql string this SQLStatement is based upon.
abstract  int getType()
          Subclasses need to return their statement type.
 boolean hasExpression()
           
static boolean isAlterTableStatement(java.lang.String sql)
          Tests if the SQL is an alter table statement
static boolean isCallStatement(java.lang.String sql)
          Tests if the SQL is a call to a stored proceedure
static boolean isCommentOnStatement(java.lang.String sql)
          Tests if the SQL is an alter table statement
static boolean isCreateAliasStatement(java.lang.String sql)
          Tests if the SQL is a CREATE ALIAS
static boolean isCreateIndexStatement(java.lang.String sql)
          Tests if the SQL is a CREATE INDEX KGetting (05/30/2005)
static boolean isCreateProcedureStatement(java.lang.String sql)
          Tests if the SQL is a CREATE PROCEDURE KGetting (08/19/2005)
static boolean isCreateViewStatement(java.lang.String sql)
          Tests if the SQL is a CREATE VIEW KGetting (05/30/2005)
 boolean isDeleteStatement()
          Tests if this statement is a delete statement
static boolean isDeleteStatement(java.lang.String sql)
          Tests if the SQL is a delete statement
static boolean isGroupByStatement(java.lang.String sql)
          Check if the sql contains a group by
 boolean isInsertStatement()
          Tests if this statement is an insert statement
static boolean isInsertStatement(java.lang.String sql)
          Tests if the SQL is an insert statement
static boolean isLabelOnStatement(java.lang.String sql)
          Tests if the SQL is an alter table statement
static boolean isOrderByStatement(java.lang.String sql)
          Check if the sql contains an order by
 boolean isSelectStatement()
          Tests if this statement is a select statement
static boolean isSelectStatement(java.lang.String sql)
          Tests if the SQL is a select statement
static boolean isUnionStatement(java.lang.String sql)
          Check if the sql contains a union.
 boolean isUpdateStatement()
          Tests if this statement is an update statement
static boolean isUpdateStatement(java.lang.String sql)
          Tests if the SQL is a update statement
protected abstract  void parseString(java.lang.String pSQLString)
          Statement subclasses are required to create themselves by parsing a sql String.
protected  void setOriginalSQLString(java.lang.String sql)
          Sets the original sql string this SQLStatement is based upon.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface planetj.database.sql.TableStatement
getTableTokens
 

Field Detail

className

public static final java.lang.String className
Class name.


SELECT_STATEMENT

public static final int SELECT_STATEMENT
See Also:
Constant Field Values

INSERT_STATEMENT

public static final int INSERT_STATEMENT
See Also:
Constant Field Values

UPDATE_STATEMENT

public static final int UPDATE_STATEMENT
See Also:
Constant Field Values

DELETE_STATEMENT

public static final int DELETE_STATEMENT
See Also:
Constant Field Values

CALL_STATEMENT

public static final int CALL_STATEMENT
See Also:
Constant Field Values

CREATE_ALIAS_STATEMENT

public static final int CREATE_ALIAS_STATEMENT
See Also:
Constant Field Values

CREATE_VIEW_STATEMENT

public static final int CREATE_VIEW_STATEMENT
See Also:
Constant Field Values

CREATE_INDEX_STATEMENT

public static final int CREATE_INDEX_STATEMENT
See Also:
Constant Field Values

CREATE_PROCEDURE_STATEMENT

public static final int CREATE_PROCEDURE_STATEMENT
See Also:
Constant Field Values

LABEL_ON_STATEMENT

public static final int LABEL_ON_STATEMENT
See Also:
Constant Field Values

COMMENT_ON_STATEMENT

public static final int COMMENT_ON_STATEMENT
See Also:
Constant Field Values
Constructor Detail

SQLStatement

public SQLStatement()
SQLStatement constructor comment.


SQLStatement

public SQLStatement(java.lang.String pOriginalSQLString,
                    SQLContext context)
SQLStatement constructor comment.

Parameters:
pOriginalSQLString - String the SQLStatement is based upon.
Method Detail

addExpressionToken

protected void addExpressionToken(java.lang.String expression,
                                  java.lang.Class expressionTokenClass)
Adds an expression token to this statement based on an expression String and an ExpressionToken class


createExpressionToken

protected AbstractExpressionToken createExpressionToken(java.lang.String expression,
                                                        java.lang.Class expressionTokenClass)
Creates an expression token based on an expression String and an ExpressionToken class


createStatement

public static SQLStatement createStatement(java.lang.String sql,
                                           SQLContext context)

getAlteredTable

public static Table getAlteredTable(java.lang.String pSQL,
                                    java.lang.String pSystemAlias)
                             throws CMException
Gets the table that will be altered by this SQL statement. If the statement is a SELECT statement, no tables will be altered, so null is returned. If the statement is a CALL statement, then null is returned (even if the stored proceedure may alter tables).

Throws:
CMException

getContext

public SQLContext getContext()
Gets the SQLContext from which this statement was created


getExpressionToken

public AbstractExpressionToken getExpressionToken()
Gets the "first" expression token for this Statement. This statement may contain additional expression tokens


getExpressionTokens

public java.util.List getExpressionTokens()
Gets the List of expression tokens for this Statement. This List will not be null, althought it may be empty. It will contain AbstractExpressionToken objects


getExpressTokenClass

public java.lang.Class getExpressTokenClass()
Deprecated.  


getLibrarySupportLevel

public byte getLibrarySupportLevel()
Gets the library support level required by this statement


getOriginalSQLString

public java.lang.String getOriginalSQLString()
Gets the original sql string this SQLStatement is based upon.

Returns:
sql string the SQLStatement is based upon.

getType

public abstract int getType()
Subclasses need to return their statement type.

SELECT_STATEMENT INSERT_STATEMENT UPDATE_STATEMENT DELETE_STATEMENT


hasExpression

public boolean hasExpression()

isAlterTableStatement

public static boolean isAlterTableStatement(java.lang.String sql)
Tests if the SQL is an alter table statement


isCallStatement

public static boolean isCallStatement(java.lang.String sql)
Tests if the SQL is a call to a stored proceedure


isCreateAliasStatement

public static boolean isCreateAliasStatement(java.lang.String sql)
Tests if the SQL is a CREATE ALIAS


isCreateViewStatement

public static boolean isCreateViewStatement(java.lang.String sql)
Tests if the SQL is a CREATE VIEW KGetting (05/30/2005)


isCreateIndexStatement

public static boolean isCreateIndexStatement(java.lang.String sql)
Tests if the SQL is a CREATE INDEX KGetting (05/30/2005)


isCreateProcedureStatement

public static boolean isCreateProcedureStatement(java.lang.String sql)
Tests if the SQL is a CREATE PROCEDURE KGetting (08/19/2005)


isLabelOnStatement

public static boolean isLabelOnStatement(java.lang.String sql)
Tests if the SQL is an alter table statement


isCommentOnStatement

public static boolean isCommentOnStatement(java.lang.String sql)
Tests if the SQL is an alter table statement


isDeleteStatement

public boolean isDeleteStatement()
Tests if this statement is a delete statement


isDeleteStatement

public static boolean isDeleteStatement(java.lang.String sql)
Tests if the SQL is a delete statement


isGroupByStatement

public static boolean isGroupByStatement(java.lang.String sql)
Check if the sql contains a group by


isInsertStatement

public boolean isInsertStatement()
Tests if this statement is an insert statement


isInsertStatement

public static boolean isInsertStatement(java.lang.String sql)
Tests if the SQL is an insert statement


isOrderByStatement

public static boolean isOrderByStatement(java.lang.String sql)
Check if the sql contains an order by


isSelectStatement

public boolean isSelectStatement()
Tests if this statement is a select statement


isSelectStatement

public static boolean isSelectStatement(java.lang.String sql)
Tests if the SQL is a select statement


isUnionStatement

public static boolean isUnionStatement(java.lang.String sql)
Check if the sql contains a union.


isUpdateStatement

public boolean isUpdateStatement()
Tests if this statement is an update statement


isUpdateStatement

public static boolean isUpdateStatement(java.lang.String sql)
Tests if the SQL is a update statement


parseString

protected abstract void parseString(java.lang.String pSQLString)
Statement subclasses are required to create themselves by parsing a sql String.


setOriginalSQLString

protected void setOriginalSQLString(java.lang.String sql)
Sets the original sql string this SQLStatement is based upon.

Parameters:
sql - sql string the SQLStatement is based upon.

toString

public java.lang.String toString()