|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
The DataValueDescriptor interface provides methods to get the data from a column returned by a statement. This interface has the same methods as NoCastDataValueDescriptor - the only reason it exists is for purposes of internal documentation, to make it clear when the different getXXX methods throw exceptions for illegal conversions.
This interface matches the getXXX methods on java.sql.ResultSet. This means everyone satisfies getString and getObject; all of the numeric types, within the limits of representation, satisfy all of the numeric getXXX methods; all of the character types satisfy all of the getXXX methods except getBytes and getBinaryStream; all of the binary types satisfy getBytes and all of the getXXXStream methods; Date satisfies getDate and getTimestamp; Time satisfies getTime; and Timestamp satisfies all of the date/time getXXX methods. The "preferred" method (one that will always work, I presume) is the one that matches the type most closely. See the comments below for "preferences". See the JDBC guide for details.
This interface does not include the getXXXStream methods.
The preferred methods for JDBC are:
CHAR and VARCHAR - getString()
BIT - getBoolean()
TINYINT - getByte()
SMALLINT - getShort()
INTEGER - getInt()
BIGINT - getLong()
REAL - getFloat()
FLOAT and DOUBLE - getDouble()
DECIMAL and NUMERIC - getBigDecimal()
BINARY and VARBINARY - getBytes()
DATE - getDate()
TIME - getTime()
TIMESTAMP - getTimestamp()
No JDBC type corresponds to getObject(). Use this for user-defined types or to get the JDBC types as java Objects. All primitive types will be wrapped in their corresponding Object type, i.e. int will be wrapped in an Integer.
getStream()
Field Summary |
Fields inherited from interface org.apache.derby.iapi.types.Orderable |
ORDER_OP_EQUALS, ORDER_OP_GREATEROREQUALS, ORDER_OP_GREATERTHAN, ORDER_OP_LESSOREQUALS, ORDER_OP_LESSTHAN |
Method Summary | |
void |
checkHostVariable(int declaredLength)
Check the value to seem if it conforms to the restrictions imposed by DB2/JCC on host variables for this type. |
DataValueDescriptor |
coalesce(DataValueDescriptor[] list,
DataValueDescriptor returnValue)
The SQL language COALESCE/VALUE function. |
int |
compare(DataValueDescriptor other)
Compare this Orderable with a given Orderable for the purpose of index positioning. |
boolean |
compare(int op,
DataValueDescriptor other,
boolean orderedNulls,
boolean unknownRV)
Compare this Orderable with a given Orderable for the purpose of qualification and sorting. |
BooleanDataValue |
equals(DataValueDescriptor left,
DataValueDescriptor right)
The SQL language = operator. |
int |
estimateMemoryUsage()
Estimate the memory usage in bytes of the data value and the overhead of the class. |
java.math.BigDecimal |
getBigDecimal()
Gets the value in the data value descriptor as a BigDecimal. |
boolean |
getBoolean()
Gets the value in the data value descriptor as a boolean. |
byte |
getByte()
Gets the value in the data value descriptor as a byte. |
byte[] |
getBytes()
Gets the value in the data value descriptor as a byte array. |
DataValueDescriptor |
getClone()
Shallow copy. |
java.sql.Date |
getDate(java.util.Calendar cal)
Gets the value in the data value descriptor as a java.sql.Date. |
double |
getDouble()
Gets the value in the data value descriptor as a double. |
float |
getFloat()
Gets the value in the data value descriptor as a float. |
int |
getInt()
Gets the value in the data value descriptor as an int. |
int |
getLength()
Gets the length of the data value. |
long |
getLong()
Gets the value in the data value descriptor as a long. |
DataValueDescriptor |
getNewNull()
Get a new null value of the same type as this data value. |
java.lang.Object |
getObject()
Gets the value in the data value descriptor as a Java Object. |
short |
getShort()
Gets the value in the data value descriptor as a short. |
java.io.InputStream |
getStream()
Gets the value in the data value descriptor as a Java InputStream. |
java.lang.String |
getString()
Gets the value in the data value descriptor as a String. |
java.sql.Time |
getTime(java.util.Calendar cal)
Gets the value in the data value descriptor as a java.sql.Time. |
java.sql.Timestamp |
getTimestamp(java.util.Calendar cal)
Gets the value in the data value descriptor as a java.sql.Timestamp. |
java.lang.String |
getTypeName()
Get the SQL name of the datatype |
BooleanDataValue |
greaterOrEquals(DataValueDescriptor left,
DataValueDescriptor right)
The SQL language >= operator. |
BooleanDataValue |
greaterThan(DataValueDescriptor left,
DataValueDescriptor right)
The SQL language > operator. |
BooleanDataValue |
in(DataValueDescriptor left,
DataValueDescriptor[] inList,
boolean orderedList)
The SQL language IN operator. |
BooleanDataValue |
isNotNull()
The SQL "IS NOT NULL" operator. |
BooleanDataValue |
isNullOp()
The SQL "IS NULL" operator. |
BooleanDataValue |
lessOrEquals(DataValueDescriptor left,
DataValueDescriptor right)
The SQL language <= operator. |
BooleanDataValue |
lessThan(DataValueDescriptor left,
DataValueDescriptor right)
The SQL language < operator. |
void |
normalize(DataTypeDescriptor dtd,
DataValueDescriptor source)
Normalize the source value to this type described by this class and the passed in DataTypeDescriptor. |
BooleanDataValue |
notEquals(DataValueDescriptor left,
DataValueDescriptor right)
The SQL language <> operator. |
void |
readExternalFromArray(ArrayInputStream ais)
Read the DataValueDescriptor from the stream. |
void |
setInto(java.sql.PreparedStatement ps,
int position)
Set this value into a PreparedStatement. |
void |
setInto(java.sql.ResultSet rs,
int position)
Set this value into a ResultSet for a subsequent ResultSet.insertRow or ResultSet.updateRow. |
void |
setObjectForCast(java.lang.Object value,
boolean instanceOfResultType,
java.lang.String resultTypeClassName)
Set the Object that this Data Type contains (for an explicit cast). |
void |
setToNull()
Set the value to SQL null. |
void |
setValue(java.math.BigDecimal theValue)
Set the value of this DataValueDescriptor. |
void |
setValue(boolean theValue)
Set the value. |
void |
setValue(byte theValue)
Set the value of this DataValueDescriptor to the given byte value |
void |
setValue(byte[] theValue)
Set the value of this DataValueDescriptor. |
void |
setValue(DataValueDescriptor theValue)
Set the value of this DataValueDescriptor from another. |
void |
setValue(java.sql.Date theValue)
Set the value of this DataValueDescriptor. |
void |
setValue(java.sql.Date theValue,
java.util.Calendar cal)
Set the value of this DataValueDescriptor. |
void |
setValue(double theValue)
Set the value of this DataValueDescriptor to the given double value |
void |
setValue(float theValue)
Set the value of this DataValueDescriptor to the given double value |
void |
setValue(java.io.InputStream theStream,
int streamLength)
Set the value to be the contents of the stream. |
void |
setValue(int theValue)
Set the value of this DataValueDescriptor to the given int value |
void |
setValue(long theValue)
Set the value of this DataValueDescriptor to the given long value |
void |
setValue(java.lang.Object theValue)
Set the value of this DataValueDescriptor to the given value |
void |
setValue(short theValue)
Set the value of this DataValueDescriptor to the given short value |
void |
setValue(java.lang.String theValue)
Set the value of this DataValueDescriptor. |
void |
setValue(java.sql.Time theValue)
Set the value of this DataValueDescriptor. |
void |
setValue(java.sql.Time theValue,
java.util.Calendar cal)
Set the value of this DataValueDescriptor. |
void |
setValue(java.sql.Timestamp theValue)
Set the value of this DataValueDescriptor. |
void |
setValue(java.sql.Timestamp theValue,
java.util.Calendar cal)
Set the value of this DataValueDescriptor. |
void |
setValueFromResultSet(java.sql.ResultSet resultSet,
int colNumber,
boolean isNullable)
Set the value based on the value for the specified DataValueDescriptor from the specified ResultSet. |
int |
typePrecedence()
Each built-in type in JSQL has a precedence. |
Methods inherited from interface org.apache.derby.iapi.services.io.Storable |
isNull, restoreToNull |
Methods inherited from interface java.io.Externalizable |
readExternal, writeExternal |
Methods inherited from interface org.apache.derby.iapi.services.io.TypedFormat |
getTypeFormatId |
Method Detail |
public int getLength() throws StandardException
StandardException
- On errorpublic java.lang.String getString() throws StandardException
StandardException
- Thrown on errorpublic boolean getBoolean() throws StandardException
StandardException
- Thrown on errorpublic byte getByte() throws StandardException
StandardException
- Thrown on errorpublic short getShort() throws StandardException
StandardException
- Thrown on errorpublic int getInt() throws StandardException
StandardException
- Thrown on errorpublic long getLong() throws StandardException
StandardException
- Thrown on errorpublic float getFloat() throws StandardException
StandardException
- Thrown on errorpublic double getDouble() throws StandardException
StandardException
- Thrown on errorpublic java.math.BigDecimal getBigDecimal() throws StandardException
StandardException
- Thrown on errorpublic byte[] getBytes() throws StandardException
StandardException
- Thrown on errorpublic java.sql.Date getDate(java.util.Calendar cal) throws StandardException
cal
- calendar for object creation
StandardException
- Thrown on errorpublic java.sql.Time getTime(java.util.Calendar cal) throws StandardException
cal
- calendar for object creation
StandardException
- Thrown on errorpublic java.sql.Timestamp getTimestamp(java.util.Calendar cal) throws StandardException
cal
- calendar for object creation
StandardException
- Thrown on errorpublic java.lang.Object getObject() throws StandardException
StandardException
- Thrown on errorpublic java.io.InputStream getStream() throws StandardException
StandardException
- Throws an exception if the data value
cannot be received as a stream.public DataValueDescriptor getClone()
Clone the DataValueDescriptor and copy its contents. We clone the data value wrapper (e.g. SQLDecimal) and reuse its contents (the underlying BigDecimal). The resultant DataValueDescriptor will point to the same value as the original DataValueDescriptor (unless the value is a primitive type, e.g. SQLInteger/integer).
public DataValueDescriptor getNewNull()
public void setValueFromResultSet(java.sql.ResultSet resultSet, int colNumber, boolean isNullable) throws StandardException, java.sql.SQLException
resultSet
- The specified ResultSet.colNumber
- The 1-based column # into the resultSet.isNullable
- Whether or not the column is nullable
(No need to call wasNull() if not)
StandardException
- Thrown on error
java.sql.SQLException
- Error accessing the result setpublic void setInto(java.sql.PreparedStatement ps, int position) throws java.sql.SQLException, StandardException
java.sql.SQLException
- thrown by the PreparedStatement object
StandardException
- thrown by me accessing my value.public void setInto(java.sql.ResultSet rs, int position) throws java.sql.SQLException, StandardException
java.sql.SQLException
- thrown by the ResultSet object
StandardException
- thrown by me accessing my value.public void setValue(java.lang.Object theValue) throws StandardException
theValue
- An Object containing the value to set this
DataValueDescriptor to. Null means set the value
to SQL null.
StandardException
- Thrown on errorpublic void setValue(int theValue) throws StandardException
theValue
- The value to set this DataValueDescriptor to
StandardException
- Thrown on errorpublic void setValue(double theValue) throws StandardException
theValue
- The value to set this DataValueDescriptor to
StandardException
- Thrown on errorpublic void setValue(float theValue) throws StandardException
theValue
- A Double containing the value to set this
DataValueDescriptor to. Null means set the value
to SQL null.
StandardException
- Thrown on errorpublic void setValue(short theValue) throws StandardException
theValue
- The value to set this DataValueDescriptor to
StandardException
- Thrown on errorpublic void setValue(long theValue) throws StandardException
theValue
- The value to set this DataValueDescriptor to
StandardException
- Thrown on errorpublic void setValue(byte theValue) throws StandardException
theValue
- The value to set this DataValueDescriptor to
StandardException
public void setValue(boolean theValue) throws StandardException
theValue
- Contains the boolean value to set this to
StandardException
public void setValue(byte[] theValue) throws StandardException
theValue
- The byte value to set this DataValueDescriptor to
StandardException
public void setValue(java.math.BigDecimal theValue) throws StandardException
theValue
- The BigDecimal value to set this DataValueDescriptor to
StandardException
public void setValue(java.lang.String theValue) throws StandardException
theValue
- The String value to set this DataValueDescriptor to
StandardException
public void setValue(java.sql.Time theValue) throws StandardException
theValue
- The Time value to set this DataValueDescriptor to
StandardException
public void setValue(java.sql.Time theValue, java.util.Calendar cal) throws StandardException
theValue
- The Time value to set this DataValueDescriptor tocal
- The time zone from the calendar is used to construct the database time value
StandardException
public void setValue(java.sql.Timestamp theValue) throws StandardException
theValue
- The Timestamp value to set this DataValueDescriptor to
StandardException
public void setValue(java.sql.Timestamp theValue, java.util.Calendar cal) throws StandardException
theValue
- The Timestamp value to set this DataValueDescriptor tocal
- The time zone from the calendar is used to construct the database timestamp value
StandardException
public void setValue(java.sql.Date theValue) throws StandardException
theValue
- The Date value to set this DataValueDescriptor to
StandardException
public void setValue(java.sql.Date theValue, java.util.Calendar cal) throws StandardException
theValue
- The Date value to set this DataValueDescriptor tocal
- The time zone from the calendar is used to construct the database date value
StandardException
public void setValue(DataValueDescriptor theValue) throws StandardException
theValue
- The Date value to set this DataValueDescriptor to
StandardException
public void setToNull()
public void normalize(DataTypeDescriptor dtd, DataValueDescriptor source) throws StandardException
StandardException
public BooleanDataValue isNullOp()
public BooleanDataValue isNotNull()
public java.lang.String getTypeName()
public void setObjectForCast(java.lang.Object value, boolean instanceOfResultType, java.lang.String resultTypeClassName) throws StandardException
value
- The new valueinstanceOfResultType
- Whether or not the new value
is an instanceof the result type.resultTypeClassName
- The class name of the resulting type
(for error messages only).
StandardException
- Thrown on errorpublic void readExternalFromArray(ArrayInputStream ais) throws java.io.IOException, java.lang.ClassNotFoundException
Initialize the data value by reading it's values from the ArrayInputStream. This interface is provided as a way to achieve possible performance enhancement when reading an array can be optimized over reading from a generic stream from readExternal().
ais
- The array stream positioned at the beginning of the
byte stream to read from.
java.io.IOException
- Usual error is if you try to read
past limit on the stream.
java.lang.ClassNotFoundException
- If a necessary class can not be
found while reading the object from
the stream.public int typePrecedence()
public BooleanDataValue equals(DataValueDescriptor left, DataValueDescriptor right) throws StandardException
left
- The value on the left side of the operatorright
- The value on the right side of the operator
StandardException
- Thrown on errorpublic BooleanDataValue notEquals(DataValueDescriptor left, DataValueDescriptor right) throws StandardException
left
- The value on the left side of the operatorright
- The value on the right side of the operator
StandardException
- Thrown on errorpublic BooleanDataValue lessThan(DataValueDescriptor left, DataValueDescriptor right) throws StandardException
left
- The value on the left side of the operatorright
- The value on the right side of the operator
StandardException
- Thrown on errorpublic BooleanDataValue greaterThan(DataValueDescriptor left, DataValueDescriptor right) throws StandardException
left
- The value on the left side of the operatorright
- The value on the right side of the operator
StandardException
- Thrown on errorpublic BooleanDataValue lessOrEquals(DataValueDescriptor left, DataValueDescriptor right) throws StandardException
left
- The value on the left side of the operatorright
- The value on the right side of the operator
StandardException
- Thrown on errorpublic BooleanDataValue greaterOrEquals(DataValueDescriptor left, DataValueDescriptor right) throws StandardException
left
- The value on the left side of the operatorright
- The value on the right side of the operator
StandardException
- Thrown on errorpublic DataValueDescriptor coalesce(DataValueDescriptor[] list, DataValueDescriptor returnValue) throws StandardException
list
- The list of the arguments. Function will return the first non-nullable argument if any.returnValue
- The return value is the correct datatype for this function.
The return value of this method is the type of the 2nd parameter.
StandardException
- Thrown on errorpublic BooleanDataValue in(DataValueDescriptor left, DataValueDescriptor[] inList, boolean orderedList) throws StandardException
left
- The value on the left side of the operatorinList
- The values in the IN listorderedList
- True means that the values in the IN list are ordered,
false means they are not.
StandardException
- Thrown on errorpublic int compare(DataValueDescriptor other) throws StandardException
other
- The Orderable to compare this one to.
StandardException
- Thrown on errorpublic boolean compare(int op, DataValueDescriptor other, boolean orderedNulls, boolean unknownRV) throws StandardException
op
- Orderable.ORDER_OP_EQUALS means do an = comparison.
Orderable.ORDER_OP_LESSTHAN means compare this < other.
Orderable.ORDER_OP_LESSOREQUALS means compare this <= other.other
- The DataValueDescriptor to compare this one to.orderedNulls
- True means to treat nulls as ordered values,
that is, treat SQL null as equal to null, and less
than all other values.
False means to treat nulls as unknown values,
that is, the result of any comparison with a null
is the UNKNOWN truth value.unknownRV
- The return value to use if the result of the
comparison is the UNKNOWN truth value. In other
words, if orderedNulls is false, and a null is
involved in the comparison, return unknownRV.
This parameter is not used orderedNulls is true.
StandardException
- Thrown on errorpublic void setValue(java.io.InputStream theStream, int streamLength) throws StandardException
theStream
- stream of correctly formatted datastreamLength
- logical length of the stream's value in units of this type (e.g. chars for string types).
StandardException
public void checkHostVariable(int declaredLength) throws StandardException
StandardException
- Variable is too big.public int estimateMemoryUsage()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |