public class UserType extends DataType implements UserDataValue
Modifier and Type | Field and Description |
---|---|
private static int |
BASE_MEMORY_USAGE |
private java.lang.Object |
value |
UNKNOWN_LOGICAL_LENGTH
ORDER_OP_EQUALS, ORDER_OP_GREATEROREQUALS, ORDER_OP_GREATERTHAN, ORDER_OP_LESSOREQUALS, ORDER_OP_LESSTHAN
Constructor and Description |
---|
UserType()
no-arg constructor required by Formattable
|
UserType(java.lang.Object value) |
Modifier and Type | Method and Description |
---|---|
DataValueDescriptor |
cloneValue(boolean forceMaterialization)
Clone this DataValueDescriptor.
|
int |
compare(DataValueDescriptor other)
Orderable interface
|
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 = operator as called from the language module, as opposed to
the storage module.
|
int |
estimateMemoryUsage()
Estimate the memory usage in bytes of the data value and the overhead of the class.
|
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[].
|
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 a 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 int.
|
short |
getShort()
Gets the value in the data value descriptor as a short.
|
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.
|
int |
getTypeFormatId()
Return my format identifier.
|
java.lang.String |
getTypeName()
Get the SQL name of the datatype
|
(package private) java.lang.String |
getTypeName(java.lang.String className)
Get the type name of this value, overriding
with the passed in class name (for user/java types).
|
int |
hashCode() |
boolean |
isNull()
Check if the value is null.
|
BooleanDataValue |
notEquals(DataValueDescriptor left,
DataValueDescriptor right)
The <> operator as called from the language module, as opposed to
the storage module.
|
void |
readExternal(java.io.ObjectInput in) |
void |
restoreToNull()
Restore this object to its (SQL)null value.
|
void |
setBigDecimal(java.math.BigDecimal theValue)
Only to be called when the application sets a value using BigDecimal
|
protected void |
setFrom(DataValueDescriptor theValue)
Set the value of this DataValueDescriptor based on the value
of the specified DataValueDescriptor.
|
(package private) void |
setObject(java.lang.Object theValue)
Set the value from an non-null object.
|
void |
setValue(java.lang.Object value)
Set the value of this DataValueDescriptor.
|
void |
setValue(java.lang.String theValue)
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.
|
java.lang.String |
toString() |
int |
typePrecedence()
Each built-in type in JSQL has a precedence.
|
void |
writeExternal(java.io.ObjectOutput out) |
checkHostVariable, cloneHolder, coalesce, compare, compare, compareTo, dataTypeConversion, equals, flip, genericSetObject, getStream, getTraceString, greaterOrEquals, greaterThan, hasStream, in, invalidFormat, isNotNull, isNullOp, lessOrEquals, lessThan, normalize, outOfRange, readExternalFromArray, recycle, setInto, setInto, setObjectForCast, setToNull, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, throwLangSetMismatch, throwLangSetMismatch, typeToBigDecimal
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
checkHostVariable, cloneHolder, coalesce, compare, compare, getStream, getTraceString, greaterOrEquals, greaterThan, hasStream, in, isNotNull, isNullOp, lessOrEquals, lessThan, normalize, readExternalFromArray, recycle, setInto, setInto, setObjectForCast, setToNull, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, typeToBigDecimal
private java.lang.Object value
private static final int BASE_MEMORY_USAGE
public UserType()
public UserType(java.lang.Object value)
public int estimateMemoryUsage()
DataValueDescriptor
estimateMemoryUsage
in interface DataValueDescriptor
public java.lang.String getString()
DataValueDescriptor
getString
in interface DataValueDescriptor
public boolean getBoolean() throws StandardException
DataType
getBoolean
in interface DataValueDescriptor
getBoolean
in class DataType
StandardException
- thrown on failure to convertpublic byte getByte() throws StandardException
DataType
getByte
in interface DataValueDescriptor
getByte
in class DataType
StandardException
- thrown on failure to convertpublic short getShort() throws StandardException
DataType
getShort
in interface DataValueDescriptor
getShort
in class DataType
StandardException
- thrown on failure to convertpublic int getInt() throws StandardException
DataType
getInt
in interface DataValueDescriptor
getInt
in class DataType
StandardException
- thrown on failure to convertpublic long getLong() throws StandardException
DataType
getLong
in interface DataValueDescriptor
getLong
in class DataType
StandardException
- thrown on failure to convertpublic float getFloat() throws StandardException
DataType
getFloat
in interface DataValueDescriptor
getFloat
in class DataType
StandardException
- thrown on failure to convertpublic double getDouble() throws StandardException
DataType
getDouble
in interface DataValueDescriptor
getDouble
in class DataType
StandardException
- thrown on failure to convertpublic byte[] getBytes() throws StandardException
DataType
getBytes
in interface DataValueDescriptor
getBytes
in class DataType
StandardException
- thrown on failure to convertpublic java.sql.Date getDate(java.util.Calendar cal) throws StandardException
DataType
getDate
in interface DataValueDescriptor
getDate
in class DataType
cal
- calendar for object creationStandardException
- thrown on failurepublic java.sql.Time getTime(java.util.Calendar cal) throws StandardException
DataType
getTime
in interface DataValueDescriptor
getTime
in class DataType
cal
- calendar for object creationStandardException
- thrown on failurepublic java.sql.Timestamp getTimestamp(java.util.Calendar cal) throws StandardException
DataType
getTimestamp
in interface DataValueDescriptor
getTimestamp
in class DataType
cal
- calendar for object creationStandardException
- thrown on failurevoid setObject(java.lang.Object theValue)
DataType
public java.lang.Object getObject()
DataType
getObject
in interface DataValueDescriptor
getObject
in class DataType
public int getLength()
DataValueDescriptor
getLength
in interface DataValueDescriptor
public java.lang.String getTypeName()
DataValueDescriptor
getTypeName
in interface DataValueDescriptor
java.lang.String getTypeName(java.lang.String className)
getTypeName
in class DataType
public int getTypeFormatId()
getTypeFormatId
in interface TypedFormat
TypedFormat.getTypeFormatId()
public void writeExternal(java.io.ObjectOutput out) throws java.io.IOException
writeExternal
in interface java.io.Externalizable
java.io.IOException
- error writing datapublic void readExternal(java.io.ObjectInput in) throws java.io.IOException, java.lang.ClassNotFoundException
readExternal
in interface java.io.Externalizable
java.io.IOException
- Thrown on error reading the objectjava.lang.ClassNotFoundException
- Thrown if the class of the object
is not foundExternalizable.readExternal(java.io.ObjectInput)
public DataValueDescriptor cloneValue(boolean forceMaterialization)
DataValueDescriptor
Even though the objects can be modified independently regardless of the
value of forceMaterialization
, both the clone and the
original may be dependent on the store state if
forceMaterialization
is set to false
. An example is if
you need to access the value you just read using cloneValue
after the current transaction has ended, or after the source result set
has been closed.
cloneValue
in interface DataValueDescriptor
forceMaterialization
- any streams representing the data value will
be materialized if true
, the data value will be kept as a
stream if possible if false
DataValueDescriptor
with the same initial
value as this.DataValueDescriptor.cloneValue(boolean)
public DataValueDescriptor getNewNull()
DataValueDescriptor
getNewNull
in interface DataValueDescriptor
DataValueDescriptor.getNewNull()
public void restoreToNull()
Storable
restoreToNull
in interface Storable
Storable.restoreToNull()
public void setValueFromResultSet(java.sql.ResultSet resultSet, int colNumber, boolean isNullable) throws java.sql.SQLException
DataValueDescriptor
setValueFromResultSet
in interface DataValueDescriptor
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)java.sql.SQLException
- Thrown on errorDataValueDescriptor.setValueFromResultSet(java.sql.ResultSet, int, boolean)
public int compare(DataValueDescriptor other) throws StandardException
compare
in interface DataValueDescriptor
other
- The Orderable to compare this one to.StandardException
- thrown on failureOrderable
public boolean compare(int op, DataValueDescriptor other, boolean orderedNulls, boolean unknownRV) throws StandardException
DataValueDescriptor
compare
in interface DataValueDescriptor
compare
in class DataType
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.lang.Object value)
DataType
setValue
in interface DataValueDescriptor
setValue
in interface UserDataValue
setValue
in class DataType
value
- The Object value to set this DataValueDescriptor toUserDataValue.setValue(java.lang.Object)
protected void setFrom(DataValueDescriptor theValue) throws StandardException
DataType
setFrom
in class DataType
theValue
- The DataValueDescriptor that holds the value to
which we want to set this DataValueDescriptor's value.StandardException
public void setBigDecimal(java.math.BigDecimal theValue)
DataType
setBigDecimal
in interface DataValueDescriptor
setBigDecimal
in class DataType
theValue
- required to be a BigDecimal or null.UserDataValue.setValue(java.lang.Object)
public void setValue(java.lang.String theValue)
DataType
setValue
in interface DataValueDescriptor
setValue
in class DataType
theValue
- The BigDecimal value to set this DataValueDescriptor topublic BooleanDataValue equals(DataValueDescriptor left, DataValueDescriptor right) throws StandardException
equals
in interface DataValueDescriptor
equals
in class DataType
left
- The value on the left side of the =right
- The value on the right side of the =StandardException
- Thrown on errorpublic BooleanDataValue notEquals(DataValueDescriptor left, DataValueDescriptor right) throws StandardException
notEquals
in interface DataValueDescriptor
notEquals
in class DataType
left
- The value on the left side of the operatorright
- The value on the right side of the operatorStandardException
- Thrown on errorpublic java.lang.String toString()
toString
in class java.lang.Object
public int hashCode()
hashCode
in class java.lang.Object
public int typePrecedence()
DataType
typePrecedence
in interface DataValueDescriptor
typePrecedence
in class DataType
DataValueDescriptor.typePrecedence()
Apache Derby V10.13 Internals - Copyright © 2004,2016 The Apache Software Foundation. All Rights Reserved.