wt.pds
Class DepthThresholdStatementBuilder

java.lang.Object
  extended bywt.pds.BasicStatementBuilder
      extended bywt.pds.DepthThresholdStatementBuilder
All Implemented Interfaces:
Externalizable, Serializable, StatementBuilder, StatementFilter
Direct Known Subclasses:
NavigateThresholdStatementBuilder

public class DepthThresholdStatementBuilder
extends BasicStatementBuilder
implements StatementFilter

This class builds a select statement for the depth threshold pre-query. This is a union statement for classnames given a Vector of table combintations and a SelectStatementBuilder.

Supported API: false

Extendable: false

See Also:
Serialized Form

Field Summary
private static String CLASSNAME
           
protected static SequentialResultBuilder CONSTANT_RESULT_BUILDER
           
static boolean DEBUG
           
static long EXTERNALIZATION_VERSION_UID
           
private  Vector[] fromArray
           
private static DebugWriter LOG
           
private static Vector NULL_TABLE_VECTOR
           
protected static long OLD_FORMAT_VERSION_UID
           
private static String RESOURCE
           
(package private) static long serialVersionUID
           
private  int sqlLength
           
private  QuerySpecStatementBuilder statementBuilder
           
 
Fields inherited from class wt.pds.BasicStatementBuilder
DMLGENERATOR
 
Fields inherited from interface wt.pds.StatementBuilder
CHUNKING_ENABLED, FETCH_SIZE, SQL_STATEMENTS, STATEMENT_COUNT
 
Constructor Summary
DepthThresholdStatementBuilder()
          

Supported API: false
DepthThresholdStatementBuilder(QuerySpecStatementBuilder a_statementBuilder)
          

Supported API: false
 
Method Summary
 String[] buildSQL(ResultBuilder a_resultBuilder, WTConnection a_connection, boolean a_isComponent, boolean a_isComponentChunkSupported)
          Returns an array of SQL statements to execute.
protected  String buildSQLStatement(Vector a_tables, Vector a_aliases, ResultBuilder a_resultBuilder, int a_sqlIndex)
          This method builds a single SQL statement for the concrete tables specified.
 int execute(Vector[] a_fromArray, WTConnection a_connection, AttributeMapInfo a_attributeMapInfo)
          This method executes a query to filter the Statement list.
private  String getExists(Vector a_tables, Vector a_aliases, int a_sqlIndex)
           
protected  String getExistsSubSelect(Vector a_tables, Vector a_aliases, int a_sqlIndex)
           
 Vector getStatementBindParameters(int a_sqlIndex)
          Returns a Vector of bind parameters for the specified statement.
protected  QuerySpecStatementBuilder getStatementBuilder()
          Gets the object for the association that plays role: statementBuilder.
private  WhereClause getWhereClause()
           
 void readExternal(ObjectInput input)
          Reads the non-transient fields of this class from an external source.
private  boolean readOldVersion(ObjectInput input, long readSerialVersionUID, boolean passThrough, boolean superDone)
          Reads the non-transient fields of this class from an external source, which is not the current version.
protected  boolean readVersion(DepthThresholdStatementBuilder thisObject, ObjectInput input, long readSerialVersionUID, boolean passThrough, boolean superDone)
          Reads the non-transient fields of this class from an external source.
 void writeExternal(ObjectOutput output)
          Writes the non-transient fields of this class to an external source.
 
Methods inherited from class wt.pds.BasicStatementBuilder
appendBindParameter, buildSQL, clone, getFetchSize, getSqlStatements, getStatement, getStatementCount, insertBindParameterAt, isChunkingEnabled, readVersion, setChunkingEnabled, setFetchSize, setSqlStatements
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

RESOURCE

private static final String RESOURCE
See Also:
Constant Field Values

CLASSNAME

private static final String CLASSNAME

statementBuilder

private QuerySpecStatementBuilder statementBuilder

serialVersionUID

static final long serialVersionUID
See Also:
Constant Field Values

EXTERNALIZATION_VERSION_UID

public static final long EXTERNALIZATION_VERSION_UID
See Also:
Constant Field Values

OLD_FORMAT_VERSION_UID

protected static final long OLD_FORMAT_VERSION_UID
See Also:
Constant Field Values

DEBUG

public static final boolean DEBUG

LOG

private static final DebugWriter LOG

sqlLength

private transient int sqlLength

fromArray

private transient Vector[] fromArray

CONSTANT_RESULT_BUILDER

protected static final SequentialResultBuilder CONSTANT_RESULT_BUILDER

NULL_TABLE_VECTOR

private static final Vector NULL_TABLE_VECTOR
Constructor Detail

DepthThresholdStatementBuilder

public DepthThresholdStatementBuilder(QuerySpecStatementBuilder a_statementBuilder)


Supported API: false

Parameters:
a_statementBuilder -

DepthThresholdStatementBuilder

public DepthThresholdStatementBuilder()


Supported API: false

Method Detail

writeExternal

public void writeExternal(ObjectOutput output)
                   throws IOException
Writes the non-transient fields of this class to an external source.

Supported API: false

Specified by:
writeExternal in interface Externalizable
Overrides:
writeExternal in class BasicStatementBuilder
Parameters:
output -
Throws:
IOException

readExternal

public void readExternal(ObjectInput input)
                  throws IOException,
                         ClassNotFoundException
Reads the non-transient fields of this class from an external source.

Supported API: false

Specified by:
readExternal in interface Externalizable
Overrides:
readExternal in class BasicStatementBuilder
Parameters:
input -
Throws:
IOException
ClassNotFoundException

readVersion

protected boolean readVersion(DepthThresholdStatementBuilder thisObject,
                              ObjectInput input,
                              long readSerialVersionUID,
                              boolean passThrough,
                              boolean superDone)
                       throws IOException,
                              ClassNotFoundException
Reads the non-transient fields of this class from an external source.

Supported API: false

Parameters:
thisObject -
input -
readSerialVersionUID -
passThrough -
superDone -
Returns:
boolean
Throws:
IOException
ClassNotFoundException

readOldVersion

private boolean readOldVersion(ObjectInput input,
                               long readSerialVersionUID,
                               boolean passThrough,
                               boolean superDone)
                        throws IOException,
                               ClassNotFoundException
Reads the non-transient fields of this class from an external source, which is not the current version.

Parameters:
input -
readSerialVersionUID -
passThrough -
superDone -
Returns:
boolean
Throws:
IOException
ClassNotFoundException

getStatementBuilder

protected QuerySpecStatementBuilder getStatementBuilder()
Gets the object for the association that plays role: statementBuilder.

Supported API: false

Returns:
QuerySpecStatementBuilder

buildSQL

public String[] buildSQL(ResultBuilder a_resultBuilder,
                         WTConnection a_connection,
                         boolean a_isComponent,
                         boolean a_isComponentChunkSupported)
                  throws PersistenceException
Returns an array of SQL statements to execute.

Supported API: false

Specified by:
buildSQL in interface StatementBuilder
Parameters:
a_resultBuilder -
a_connection -
a_isComponent - Indicates that these SQL statements will be used as nested components of another SQL statement.
a_isComponentChunkSupported - Indicates that these SQL statements will support chunk or not, and the value will be false when a_isComponent is false, and can be true or false when a_isComponents is true.
Returns:
String[]
Throws:
PersistenceException

buildSQLStatement

protected String buildSQLStatement(Vector a_tables,
                                   Vector a_aliases,
                                   ResultBuilder a_resultBuilder,
                                   int a_sqlIndex)
                            throws PersistenceException
This method builds a single SQL statement for the concrete tables specified.

Supported API: false

Parameters:
a_tables - Tables to build statement for.
a_aliases - Aliases to use building statement.
a_resultBuilder - instance to use building statement
a_sqlIndex - Index of this statement
Returns:
String
Throws:
PersistenceException

getStatementBindParameters

public Vector getStatementBindParameters(int a_sqlIndex)
                                  throws PersistenceException
Returns a Vector of bind parameters for the specified statement.

Supported API: false

Specified by:
getStatementBindParameters in interface StatementBuilder
Specified by:
getStatementBindParameters in class BasicStatementBuilder
Parameters:
a_sqlIndex -
Returns:
Vector
Throws:
PersistenceException

execute

public int execute(Vector[] a_fromArray,
                   WTConnection a_connection,
                   AttributeMapInfo a_attributeMapInfo)
            throws WTException
This method executes a query to filter the Statement list.

Supported API: false

Specified by:
execute in interface StatementFilter
Parameters:
a_fromArray - Array of Vectors containing From instances.
a_connection - Connection to use for the query.
a_attributeMapInfo - Attribute map to use for building the filter statement
Returns:
int
Throws:
WTException

getExistsSubSelect

protected String getExistsSubSelect(Vector a_tables,
                                    Vector a_aliases,
                                    int a_sqlIndex)
                             throws PersistenceException
Throws:
PersistenceException

getWhereClause

private WhereClause getWhereClause()
                            throws PersistenceException
Throws:
PersistenceException

getExists

private String getExists(Vector a_tables,
                         Vector a_aliases,
                         int a_sqlIndex)
                  throws PersistenceException
Throws:
PersistenceException