public interface DataType
extends java.util.Comparator, java.io.Serializable
Table.
Responsible for testingthat a value is assignable to fields of this
type, for convertingObjectsto this type, and for
readingvalues from and writingvalues to a stream.
| Modifier and Type | Interface and Description |
|---|---|
static interface |
DataType.BinaryRepresentation
Extension of DataType to indicate that the implementing class stores binary values,
and as such returns precision as the number of bits used to represent a given
value.
|
static interface |
DataType.ExactNumeric
Extension of NonFixedPrecision to indicate that the scale of the implementing class
is not fixed by the implementation, but rather can be declared by the user.
|
static interface |
DataType.NonFixedPrecision
Extension of DataType to indicate that the precision of the implementing class is
not fixed by the implementation, but rather can be declared by the user.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
accepts(java.lang.Object value)
Return
true if a field of my type can be assigned the given non-
null value , false otherwise. |
java.lang.Object |
convert(java.lang.Object value)
Converts an
acceptablevalue to one of the appropriate type. |
int |
getColumnDisplaySize()
Value returned by
ResultSetMetaData#getColumnDisplaySizefor this data
type. |
int |
getJdbcType()
Returns the JDBC
type codemost closely matching this type. |
java.lang.String |
getLiteralPrefix()
Prefix used to quote a literal to delimit value for this type when in SQL syntax or
result display
|
java.lang.String |
getLiteralSuffix()
Suffix used to quote a literal to delimit value for this type when in SQL syntax or
result display
|
int |
getNullableCode()
Code indicating that type does not accept, does accept, or does not disclose
acceptance of
null values |
int |
getPrecision()
Value returned by
ResultSetMetaData#getPrecisionfor this data type. |
int |
getPrecisionRadix()
Indicates radix used to compute maximum number of significant digits for this
datatype, as returned by
getPrecision(). |
java.lang.String |
getPreferredValueClassName()
Returns the "normal" type returned by
convert(java.lang.Object). |
int |
getScale()
Value returned by
ResultSetMetaData#getScalefor this data type. |
short |
getSearchableCode()
Code indicating how much
WHERE ... |
boolean |
isCaseSensitive()
For character and string-related types, indicates whether type acknowledges case
when storing and retrieving values
|
boolean |
isCurrency() |
boolean |
isUnsigned()
For numeric types, indicates whether type stores only non-negative (>= 0) values
|
DataType |
makeNewInstance()
Creates a new instance of this DataType implementation.
|
java.lang.Object |
read(java.io.DataInput in)
Instantiate an object of my type from the given
DataInput. |
java.lang.Object |
successor(java.lang.Object value)
Returns the successor for the given value.
|
boolean |
supportsSuccessor()
Returns
true if the successor(java.lang.Object)method is supported, false
otherwise. |
java.math.BigDecimal |
toBigDecimal(java.lang.Object value)
|
java.math.BigInteger |
toBigInteger(java.lang.Object value)
|
java.sql.Blob |
toBlob(java.lang.Object value)
|
boolean |
toBoolean(java.lang.Object value)
Convert the given non-
null value to a boolean,
or throw a SQLException. |
byte |
toByte(java.lang.Object value)
Convert the given non-
null value to a byte,
or throw a SQLException. |
byte[] |
toByteArray(java.lang.Object value)
|
java.sql.Clob |
toClob(java.lang.Object value)
|
java.sql.Date |
toDate(java.lang.Object value)
Convert the given non-
null value to a Date,
or throw a SQLException. |
double |
toDouble(java.lang.Object value)
|
float |
toFloat(java.lang.Object value)
|
int |
toInt(java.lang.Object value)
|
long |
toLong(java.lang.Object value)
|
short |
toShort(java.lang.Object value)
|
java.lang.String |
toString(java.lang.Object value)
|
java.sql.Time |
toTime(java.lang.Object value)
|
java.sql.Timestamp |
toTimestamp(java.lang.Object value)
|
java.net.URL |
toURL(java.lang.Object value)
|
void |
write(java.lang.Object value,
java.io.DataOutput out)
Write an object of my type to the given
DataOutput. |
compare, comparing, comparing, comparingDouble, comparingInt, comparingLong, equals, naturalOrder, nullsFirst, nullsLast, reversed, reverseOrder, thenComparing, thenComparing, thenComparing, thenComparingDouble, thenComparingInt, thenComparingLongboolean accepts(java.lang.Object value)
true if a field of my type can be assigned the given non-
null value , false otherwise.value - non- null valuejava.lang.Object convert(java.lang.Object value)
throws AxionException
acceptablevalue to one of the appropriate type.AxionExceptionint getColumnDisplaySize()
ResultSetMetaData#getColumnDisplaySizefor this data
type.ResultSetMetaData.getColumnDisplaySize(int)int getJdbcType()
type codemost closely matching this type.java.lang.String getLiteralPrefix()
DatabaseMetaData.getTypeInfo()java.lang.String getLiteralSuffix()
DatabaseMetaData.getTypeInfo()int getNullableCode()
null valuesDatabaseMetaData.getTypeInfo()int getPrecision()
ResultSetMetaData#getPrecisionfor this data type.ResultSetMetaData.getPrecision(int)int getPrecisionRadix()
getPrecision().getPrecision(), typically 2 or 10.java.lang.String getPreferredValueClassName()
convert(java.lang.Object). Returns
java.lang.Object if unknown.ResultSetMetaData.getColumnClassName(int)int getScale()
ResultSetMetaData#getScalefor this data type.ResultSetMetaData.getScale(int)short getSearchableCode()
WHERE ... LIKE support is available across
a column of this typeDatabaseMetaData.getTypeInfo()boolean isCaseSensitive()
DatabaseMetaData.getTypeInfo(),
ResultSetMetaData.isCaseSensitive(int)boolean isCurrency()
ResultSetMetaData.isCurrency(int)boolean isUnsigned()
DatabaseMetaData.getTypeInfo()java.lang.Object read(java.io.DataInput in)
throws java.io.IOException
DataInput. The next
sequence of bytes to be read from the DataInput will have been
written by write(java.lang.Object, java.io.DataOutput).java.io.IOExceptionjava.lang.Object successor(java.lang.Object value)
throws java.lang.UnsupportedOperationException
java.lang.UnsupportedOperationExceptionboolean supportsSuccessor()
true if the successor(java.lang.Object)method is supported, false
otherwise.java.math.BigDecimal toBigDecimal(java.lang.Object value)
throws AxionException
AxionExceptionResultSet.getBigDecimal(int, int)java.math.BigInteger toBigInteger(java.lang.Object value)
throws AxionException
AxionExceptionjava.sql.ResultSet#getBigIntegerjava.sql.Blob toBlob(java.lang.Object value)
throws AxionException
AxionExceptionResultSet.getBlob(int)boolean toBoolean(java.lang.Object value)
throws AxionException
null value to a boolean,
or throw a SQLException.AxionExceptionResultSet.getBoolean(int)byte toByte(java.lang.Object value)
throws AxionException
null value to a byte,
or throw a SQLException.AxionExceptionResultSet.getByte(int)byte[] toByteArray(java.lang.Object value)
throws AxionException
AxionExceptionResultSet.getBytes(int)java.sql.Clob toClob(java.lang.Object value)
throws AxionException
AxionExceptionResultSet.getClob(int)java.sql.Date toDate(java.lang.Object value)
throws AxionException
null value to a Date,
or throw a SQLException.AxionExceptionResultSet.getDate(int)double toDouble(java.lang.Object value)
throws AxionException
AxionExceptionResultSet.getDouble(int)float toFloat(java.lang.Object value)
throws AxionException
AxionExceptionResultSet.getFloat(int)int toInt(java.lang.Object value) throws AxionException
AxionExceptionResultSet.getInt(int)long toLong(java.lang.Object value)
throws AxionException
AxionExceptionResultSet.getLong(int)short toShort(java.lang.Object value)
throws AxionException
AxionExceptionResultSet.getShort(int)java.lang.String toString(java.lang.Object value)
throws AxionException
AxionExceptionResultSet.getString(int)java.sql.Time toTime(java.lang.Object value)
throws AxionException
AxionExceptionResultSet.getTime(int)java.sql.Timestamp toTimestamp(java.lang.Object value)
throws AxionException
AxionExceptionResultSet.getTimestamp(int)java.net.URL toURL(java.lang.Object value)
throws AxionException
AxionExceptionResultSet.getURL(int)void write(java.lang.Object value,
java.io.DataOutput out)
throws java.io.IOException
DataOutput.value - the value to write, which must be acceptableto this
DataTypejava.io.IOExceptionDataType makeNewInstance()