wt.pds
Class AttributeItemBuilder

java.lang.Object
  extended bywt.pds.AttributeItemBuilder
All Implemented Interfaces:
Externalizable, ItemBuilder, Serializable
Direct Known Subclasses:
EnumeratedTypeItemBuilder, ObjectReferenceItemBuilder, SnapShotItemBuilder

public class AttributeItemBuilder
extends Object
implements ItemBuilder, Externalizable

This class provides the functionality for building a single attribute object from a result set.

The internal implementation uses the getObject() method of the ResultSet class. If the selectOnly attribute is true, then the attribute is selected, but the build() method does nothing.

Supported API: false

Extendable: false

See Also:
Serialized Form

Field Summary
private  int[] classIndicies
           
private static String CLASSNAME
           
private  boolean columnAliasEnabled
           
private  ColumnExpression[] columns
           
static long EXTERNALIZATION_VERSION_UID
           
private  Boolean isTimestamp
           
protected  ObjectTable objectTable
           
private  int offset
           
protected static long OLD_FORMAT_VERSION_UID
           
private static String RESOURCE
           
private  ResultSet resultSet
           
private  boolean selectOnly
           
(package private) static long serialVersionUID
           
private static ConstantExpression TIMESTAMP_FORMAT_EXPRESSION
           
private  boolean timestampProcessingEnabled
           
 
Fields inherited from interface wt.pds.ItemBuilder
ACCESS_CONTROLLED_FROM_INDICIES, COLUMNS, DESCENDANT_QUERY_TYPE_COMPATIBLE, FROM_INDICIES, ITEM_COUNT
 
Constructor Summary
AttributeItemBuilder()
          

Supported API: false
AttributeItemBuilder(ColumnExpression[] a_columns, int[] a_classIndicies, boolean a_selectOnly)
          

Supported API: false
AttributeItemBuilder(ColumnExpression a_column1, ColumnExpression a_column2, int a_classIndex)
          

Supported API: false
AttributeItemBuilder(int a_classIndex, ColumnExpression a_column, boolean a_selectOnly)
          

Supported API: false
 
Method Summary
 Object build()
          Builds an object from the current row in the result set.
static String[] buildAliases(Vector a_tableInfos, Vector a_aliases, int[] a_classIndicies, ColumnExpression[] a_columns)
           
 int buildEmptyAggregateColumn(AttributeMapInfo a_attributeMapInfo, StringBuffer a_select)
          Builds the select columns for building an object.
 int buildSelect(Vector a_tableInfos, Vector a_aliases, AttributeMapInfo a_attributeMapInfo, StringBuffer a_select)
          Builds the select columns for building an object.
 int createPersistentRetrieve(ResultSet a_resultSet, ObjectTable a_objectTable, int a_resultOffset, AttributeMapInfo a_attributeMapInfo)
          Creates the persistent retrieve object for this item.
 int[] getAccessControlledFromIndicies()
          Gets the value of the attribute: accessControlledFromIndicies; Array of index values for items in the FromClause.
 ColumnExpression[] getColumns()
          Gets the value of the attribute: columns; The columns that make up this item.
 int[] getFromIndicies()
          Gets the value of the attribute: fromIndicies; Array of index values for items in the FromClause.
 int getItemCount()
          Gets the value of the attribute: itemCount; Number of items that are built.
protected  String getJavaType()
           
protected  int getOffset()
          Gets the value of the attribute: offset; Offset of the item in the result set

Supported API: false
 Class getPrimaryClass(Vector a_classInfos)
          Returns the primary class for this Item.
protected  ResultSet getResultSet()
          Gets the value of the attribute: resultSet.
static Object getResultSetObject(ResultSet a_resultSet, int a_index, String a_javaType)
           
 boolean isColumnAliasEnabled()
          Gets the value of the attribute: columnAliasEnabled; Indicates if the column alias should be used (if present)

Supported API: false
 boolean isDescendantQueryTypeCompatible()
          Gets the value of the attribute: descendantQueryTypeCompatible; Indicates whether descendant query results will be guranteed to be type compatible (i.e.
 boolean isSelectOnly()
          Gets the value of the attribute: selectOnly; Indicates if the item should be selected only and not built.
 boolean isTimestampProcessingEnabled()
          Gets the value of the attribute: timestampProcessingEnabled; Indicates if the Timestamp processing should be enabled (only applicable to Timestamp attributes)

Supported API: false
static void processClassAttributes(Vector a_tableInfos, Vector a_aliases, int[] a_classIndicies, ColumnExpression a_columnExpression)
           
protected  boolean processTimestamp()
           
 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(AttributeItemBuilder thisObject, ObjectInput input, long readSerialVersionUID, boolean passThrough, boolean superDone)
          Reads the non-transient fields of this class from an external source.
 void reset()
          Resets the instance so that it can be re-used to process a new result.
 void setColumnAliasEnabled(boolean a_ColumnAliasEnabled)
          Sets the value of the attribute: columnAliasEnabled; Indicates if the column alias should be used (if present)

Supported API: false
 void setSelectOnly(boolean a_SelectOnly)
          Sets the value of the attribute: selectOnly; Indicates if the item should be selected only and not built.
 void setTimeStampAttributeTimestampDisabled()
          Set the DateExpression in the ItemBuilder to the TimstampEnabled to false

Supported API: false
 void setTimestampProcessingEnabled(boolean a_TimestampProcessingEnabled)
          Sets the value of the attribute: timestampProcessingEnabled; Indicates if the Timestamp processing should be enabled (only applicable to Timestamp attributes)

Supported API: false
 String toString()
           
 void writeExternal(ObjectOutput output)
          Writes the non-transient fields of this class to an external source.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

RESOURCE

private static final String RESOURCE
See Also:
Constant Field Values

CLASSNAME

private static final String CLASSNAME

resultSet

private transient ResultSet resultSet

selectOnly

private boolean selectOnly

columns

private ColumnExpression[] columns

classIndicies

private int[] classIndicies

offset

private transient int offset

columnAliasEnabled

private boolean columnAliasEnabled

timestampProcessingEnabled

private boolean timestampProcessingEnabled

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

TIMESTAMP_FORMAT_EXPRESSION

private static final ConstantExpression TIMESTAMP_FORMAT_EXPRESSION

objectTable

protected transient ObjectTable objectTable

isTimestamp

private transient Boolean isTimestamp
Constructor Detail

AttributeItemBuilder

public AttributeItemBuilder()


Supported API: false


AttributeItemBuilder

public AttributeItemBuilder(int a_classIndex,
                            ColumnExpression a_column,
                            boolean a_selectOnly)
                     throws WTPropertyVetoException


Supported API: false

Parameters:
a_classIndex -
a_column -
a_selectOnly -
Throws:
WTPropertyVetoException

AttributeItemBuilder

public AttributeItemBuilder(ColumnExpression[] a_columns,
                            int[] a_classIndicies,
                            boolean a_selectOnly)
                     throws WTPropertyVetoException


Supported API: false

Parameters:
a_columns -
a_classIndicies -
a_selectOnly -
Throws:
WTPropertyVetoException

AttributeItemBuilder

public AttributeItemBuilder(ColumnExpression a_column1,
                            ColumnExpression a_column2,
                            int a_classIndex)
                     throws WTPropertyVetoException


Supported API: false

Parameters:
a_column1 -
a_column2 -
a_classIndex -
Throws:
WTPropertyVetoException
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
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
Parameters:
input -
Throws:
IOException
ClassNotFoundException

readVersion

protected boolean readVersion(AttributeItemBuilder 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

getResultSet

protected ResultSet getResultSet()
Gets the value of the attribute: resultSet.

Supported API: false

Returns:
ResultSet

isSelectOnly

public boolean isSelectOnly()
Gets the value of the attribute: selectOnly; Indicates if the item should be selected only and not built.

Supported API: false

Returns:
boolean

setSelectOnly

public void setSelectOnly(boolean a_SelectOnly)
                   throws WTPropertyVetoException
Sets the value of the attribute: selectOnly; Indicates if the item should be selected only and not built.

Supported API: false

Parameters:
a_SelectOnly -
Throws:
WTPropertyVetoException

getColumns

public ColumnExpression[] getColumns()
                              throws WTException
Gets the value of the attribute: columns; The columns that make up this item.

Supported API: false

Specified by:
getColumns in interface ItemBuilder
Returns:
ColumnExpression[]
Throws:
WTException

getOffset

protected int getOffset()
Gets the value of the attribute: offset; Offset of the item in the result set

Supported API: false

Returns:
int

isColumnAliasEnabled

public boolean isColumnAliasEnabled()
Gets the value of the attribute: columnAliasEnabled; Indicates if the column alias should be used (if present)

Supported API: false

Returns:
boolean

setColumnAliasEnabled

public void setColumnAliasEnabled(boolean a_ColumnAliasEnabled)
                           throws WTPropertyVetoException
Sets the value of the attribute: columnAliasEnabled; Indicates if the column alias should be used (if present)

Supported API: false

Parameters:
a_ColumnAliasEnabled -
Throws:
WTPropertyVetoException

isTimestampProcessingEnabled

public boolean isTimestampProcessingEnabled()
Gets the value of the attribute: timestampProcessingEnabled; Indicates if the Timestamp processing should be enabled (only applicable to Timestamp attributes)

Supported API: false

Returns:
boolean

setTimestampProcessingEnabled

public void setTimestampProcessingEnabled(boolean a_TimestampProcessingEnabled)
                                   throws WTPropertyVetoException
Sets the value of the attribute: timestampProcessingEnabled; Indicates if the Timestamp processing should be enabled (only applicable to Timestamp attributes)

Supported API: false

Parameters:
a_TimestampProcessingEnabled -
Throws:
WTPropertyVetoException

getItemCount

public int getItemCount()
Gets the value of the attribute: itemCount; Number of items that are built.

Supported API: false

Specified by:
getItemCount in interface ItemBuilder
Returns:
int

isDescendantQueryTypeCompatible

public boolean isDescendantQueryTypeCompatible()
Gets the value of the attribute: descendantQueryTypeCompatible; Indicates whether descendant query results will be guranteed to be type compatible (i.e. all corressponding columns have the same type.

Supported API: false

Specified by:
isDescendantQueryTypeCompatible in interface ItemBuilder
Returns:
boolean

getAccessControlledFromIndicies

public int[] getAccessControlledFromIndicies()
Gets the value of the attribute: accessControlledFromIndicies; Array of index values for items in the FromClause. This ItemBuilder provides Access Control for these FromExpressions.

Supported API: false

Specified by:
getAccessControlledFromIndicies in interface ItemBuilder
Returns:
int[]

getFromIndicies

public int[] getFromIndicies()
Gets the value of the attribute: fromIndicies; Array of index values for items in the FromClause. This ItemBuilder accesses these FromExpressions to build the item.

Supported API: false

Specified by:
getFromIndicies in interface ItemBuilder
Returns:
int[]

buildSelect

public int buildSelect(Vector a_tableInfos,
                       Vector a_aliases,
                       AttributeMapInfo a_attributeMapInfo,
                       StringBuffer a_select)
                throws PersistenceException
Builds the select columns for building an object.

Supported API: false

Specified by:
buildSelect in interface ItemBuilder
Parameters:
a_tableInfos -
a_aliases -
a_attributeMapInfo -
a_select -
Throws:
PersistenceException

build

public Object build()
             throws PersistenceException
Builds an object from the current row in the result set.

Supported API: false

Specified by:
build in interface ItemBuilder
Returns:
Object
Throws:
PersistenceException

createPersistentRetrieve

public int createPersistentRetrieve(ResultSet a_resultSet,
                                    ObjectTable a_objectTable,
                                    int a_resultOffset,
                                    AttributeMapInfo a_attributeMapInfo)
                             throws PersistenceException
Creates the persistent retrieve object for this item.

Supported API: false

Specified by:
createPersistentRetrieve in interface ItemBuilder
Parameters:
a_resultSet -
a_objectTable -
a_resultOffset -
a_attributeMapInfo -
Returns:
int
Throws:
PersistenceException

getPrimaryClass

public Class getPrimaryClass(Vector a_classInfos)
Returns the primary class for this Item.

Supported API: false

Specified by:
getPrimaryClass in interface ItemBuilder
Parameters:
a_classInfos -
Returns:
Class

reset

public void reset()
Resets the instance so that it can be re-used to process a new result.

Supported API: false

Specified by:
reset in interface ItemBuilder

buildEmptyAggregateColumn

public int buildEmptyAggregateColumn(AttributeMapInfo a_attributeMapInfo,
                                     StringBuffer a_select)
                              throws PersistenceException
Builds the select columns for building an object.

Supported API: false

Specified by:
buildEmptyAggregateColumn in interface ItemBuilder
Parameters:
a_attributeMapInfo -
a_select -
Throws:
PersistenceException

setTimeStampAttributeTimestampDisabled

public void setTimeStampAttributeTimestampDisabled()
                                            throws WTException
Set the DateExpression in the ItemBuilder to the TimstampEnabled to false

Supported API: false

Specified by:
setTimeStampAttributeTimestampDisabled in interface ItemBuilder
Throws:
WTException

getJavaType

protected String getJavaType()
                      throws WTException
Throws:
WTException

getResultSetObject

public static Object getResultSetObject(ResultSet a_resultSet,
                                        int a_index,
                                        String a_javaType)
                                 throws SQLException
Throws:
SQLException

processClassAttributes

public static void processClassAttributes(Vector a_tableInfos,
                                          Vector a_aliases,
                                          int[] a_classIndicies,
                                          ColumnExpression a_columnExpression)

buildAliases

public static String[] buildAliases(Vector a_tableInfos,
                                    Vector a_aliases,
                                    int[] a_classIndicies,
                                    ColumnExpression[] a_columns)

processTimestamp

protected boolean processTimestamp()
                            throws WTException
Throws:
WTException

toString

public String toString()