wt.pds
Class EncodedStatementParameter

java.lang.Object
  extended bywt.pds.EncodedStatementParameter
All Implemented Interfaces:
DatastoreTypeStatementParameter, Externalizable, Serializable, StatementParameter

public class EncodedStatementParameter
extends Object
implements DatastoreTypeStatementParameter, Externalizable

This class implements a StatementParameter for Datastore types that encodes the values as a character string.

Supported API: false

Extendable: false

See Also:
Serialized Form

Field Summary
static String ARRAY_SEPERATOR
           
private static String CLASSNAME
           
private  ClassInfo datastoreType
           
static long EXTERNALIZATION_VERSION_UID
           
protected static long OLD_FORMAT_VERSION_UID
           
private static String RESOURCE
           
(package private) static long serialVersionUID
           
static String STRUCT_SEPERATOR
           
private  Object value
           
 
Fields inherited from interface wt.pds.DatastoreTypeStatementParameter
DATASTORE_TYPE
 
Fields inherited from interface wt.pds.StatementParameter
VALUE
 
Constructor Summary
EncodedStatementParameter()
           
 
Method Summary
private static Object[] buildDecodedStruct(String a_value, ColumnDescriptor[] a_columns)
           
private static void buildEncodedStruct(Object[] a_values, int length, StringBuffer a_buffer)
           
private static Object convertType(String a_value, ColumnDescriptor a_column)
           
 void getArgumentValue(WTConnection a_connection, CallableStatement a_statement, int a_index)
          This method gets the value from the statement.
 ClassInfo getDatastoreType()
          Gets the value of the attribute: datastoreType; The Datastore Type to encode the values as.
private  Object getDecodedValue(String a_value)
           
private  String getEncodedString()
           
 Object getValue()
          Gets the value of the attribute: value; Value of the StatementParameter

Supported API: false
 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(EncodedStatementParameter thisObject, ObjectInput input, long readSerialVersionUID, boolean passThrough, boolean superDone)
          Reads the non-transient fields of this class from an external source.
 void registerOutput(CallableStatement a_statement, int a_index)
          Registers this parameter as an output value

Supported API: false
 void setArgumentValue(WTConnection a_connection, PreparedStatement a_statement, int a_index)
          This method sets the value into the statement as an argument.
 void setDatastoreType(ClassInfo a_DatastoreType)
          Sets the value of the attribute: datastoreType; The Datastore Type to encode the values as.
 void setValue(Object a_Value)
          Sets the value of the attribute: value; Value of the StatementParameter

Supported API: false
 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, toString, wait, wait, wait
 

Field Detail

RESOURCE

private static final String RESOURCE
See Also:
Constant Field Values

CLASSNAME

private static final String CLASSNAME

datastoreType

private ClassInfo datastoreType

value

private Object value

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

ARRAY_SEPERATOR

public static final String ARRAY_SEPERATOR
See Also:
Constant Field Values

STRUCT_SEPERATOR

public static final String STRUCT_SEPERATOR
See Also:
Constant Field Values
Constructor Detail

EncodedStatementParameter

public EncodedStatementParameter()
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(EncodedStatementParameter 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

getDatastoreType

public ClassInfo getDatastoreType()
Gets the value of the attribute: datastoreType; The Datastore Type to encode the values as.

Supported API: false

Specified by:
getDatastoreType in interface DatastoreTypeStatementParameter
Returns:
ClassInfo

setDatastoreType

public void setDatastoreType(ClassInfo a_DatastoreType)
                      throws WTPropertyVetoException
Sets the value of the attribute: datastoreType; The Datastore Type to encode the values as.

Supported API: false

Specified by:
setDatastoreType in interface DatastoreTypeStatementParameter
Parameters:
a_DatastoreType -
Throws:
WTPropertyVetoException

getValue

public Object getValue()
Gets the value of the attribute: value; Value of the StatementParameter

Supported API: false

Specified by:
getValue in interface StatementParameter
Returns:
Object

setValue

public void setValue(Object a_Value)
              throws WTPropertyVetoException
Sets the value of the attribute: value; Value of the StatementParameter

Supported API: false

Specified by:
setValue in interface StatementParameter
Parameters:
a_Value -
Throws:
WTPropertyVetoException

setArgumentValue

public void setArgumentValue(WTConnection a_connection,
                             PreparedStatement a_statement,
                             int a_index)
                      throws SQLException,
                             WTException
This method sets the value into the statement as an argument.

Supported API: false

Specified by:
setArgumentValue in interface StatementParameter
Parameters:
a_connection - Connection to use
a_statement - Statement to set the parameter in
a_index - Index of the parameter in the statement
Throws:
SQLException
WTException

getArgumentValue

public void getArgumentValue(WTConnection a_connection,
                             CallableStatement a_statement,
                             int a_index)
                      throws SQLException,
                             WTException
This method gets the value from the statement.

Supported API: false

Specified by:
getArgumentValue in interface StatementParameter
Parameters:
a_connection - Connection to use
a_statement - Statement to set the parameter in
a_index - Index of the parameter in the statement
Throws:
SQLException
WTException

registerOutput

public void registerOutput(CallableStatement a_statement,
                           int a_index)
                    throws SQLException
Registers this parameter as an output value

Supported API: false

Specified by:
registerOutput in interface StatementParameter
Parameters:
a_statement -
a_index - Statement parameter index
Throws:
SQLException

getEncodedString

private String getEncodedString()
                         throws WTException
Throws:
WTException

getDecodedValue

private Object getDecodedValue(String a_value)
                        throws WTException
Throws:
WTException

buildEncodedStruct

private static void buildEncodedStruct(Object[] a_values,
                                       int length,
                                       StringBuffer a_buffer)

buildDecodedStruct

private static Object[] buildDecodedStruct(String a_value,
                                           ColumnDescriptor[] a_columns)

convertType

private static Object convertType(String a_value,
                                  ColumnDescriptor a_column)