public class CharacterType extends BaseDataType implements DataType.NonFixedPrecision
DataTyperepresenting a single char value.DataType.BinaryRepresentation, DataType.ExactNumeric, DataType.NonFixedPrecision| Constructor and Description |
|---|
CharacterType() |
CharacterType(int size) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
accepts(java.lang.Object value)
Returns
true iff value is null, a
Character, or a single character String. |
int |
compare(java.lang.Object a,
java.lang.Object b) |
java.lang.Object |
convert(java.lang.Object value)
Returns an String converted from the given value , or throws
IllegalArgumentExceptionif the given value isn't
acceptable. |
int |
getColumnDisplaySize()
Value returned by
ResultSetMetaData#getColumnDisplaySizefor this data
type. |
protected java.util.Comparator |
getComparator()
This base implementation simply returns a
ComparableComparator. |
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 |
getPrecision()
Value returned by
ResultSetMetaData#getPrecisionfor this data type. |
java.lang.String |
getPreferredValueClassName()
Returns the "normal" type returned by
DataType.convert(java.lang.Object). |
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
|
DataType |
makeNewInstance()
Creates a new instance of this DataType implementation.
|
protected java.lang.String |
process(java.lang.String value) |
java.lang.Object |
read(java.io.DataInput in)
Instantiate an object of my type from the given
DataInput. |
protected java.lang.String |
rightTrim(java.lang.String source) |
void |
setPrecision(int newSize)
Overrides the default precision with the given value.
|
java.lang.Object |
successor(java.lang.Object value)
Returns the successor for the given value.
|
boolean |
supportsSuccessor()
Returns
true if the DataType.successor(java.lang.Object)method is supported, false
otherwise. |
byte[] |
toByteArray(java.lang.Object value)
|
java.lang.String |
toString()
Returns
"character" |
protected java.lang.String |
truncateIfLegal(java.lang.String source) |
void |
write(java.lang.Object value,
java.io.DataOutput out)
Writes the given value to the given
DataOutput.Null
values are written as Character.MIN_VALUE,false. |
getNullableCode, getPrecisionRadix, getScale, isCurrency, isUnsigned, toBigDecimal, toBigInteger, toBlob, toBoolean, toByte, toClob, toDate, toDouble, toFloat, toInt, toLong, toNumber, toShort, toString, toTime, toTimestamp, toURLclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetNullableCode, getPrecisionRadix, getScale, isCurrency, isUnsigned, toBigDecimal, toBigInteger, toBlob, toBoolean, toByte, toClob, toDate, toDouble, toFloat, toInt, toLong, toShort, toString, toTime, toTimestamp, toURLpublic CharacterType()
public CharacterType(int size)
public int getJdbcType()
DataTypetype codemost closely matching this type.getJdbcType in interface DataTypegetJdbcType in class BaseDataTypeTypes.CHARpublic java.lang.String getPreferredValueClassName()
DataTypeDataType.convert(java.lang.Object). Returns
java.lang.Object if unknown.getPreferredValueClassName in interface DataTypegetPreferredValueClassName in class BaseDataTypeAxionResultSetMetaData.getColumnClassName(int)public final int getPrecision()
DataTypeResultSetMetaData#getPrecisionfor this data type.getPrecision in interface DataTypegetPrecision in class BaseDataTypeResultSetMetaData.getPrecision(int)public int getColumnDisplaySize()
DataTypeResultSetMetaData#getColumnDisplaySizefor this data
type.getColumnDisplaySize in interface DataTypegetColumnDisplaySize in class BaseDataTypeResultSetMetaData.getColumnDisplaySize(int)public boolean isCaseSensitive()
DataTypeisCaseSensitive in interface DataTypeisCaseSensitive in class BaseDataTypeDatabaseMetaData.getTypeInfo(),
ResultSetMetaData.isCaseSensitive(int)public java.lang.String toString()
"character"toString in class java.lang.Object"character"public byte[] toByteArray(java.lang.Object value)
throws AxionException
DataTypetoByteArray in interface DataTypetoByteArray in class BaseDataTypeAxionExceptionResultSet.getBytes(int)public boolean accepts(java.lang.Object value)
true iff value is null, a
Character, or a single character String.accepts in interface DataTypeaccepts in class BaseDataTypevalue - non- null valuepublic boolean supportsSuccessor()
DataTypetrue if the DataType.successor(java.lang.Object)method is supported, false
otherwise.supportsSuccessor in interface DataTypesupportsSuccessor in class BaseDataTypepublic java.lang.Object successor(java.lang.Object value)
throws java.lang.IllegalArgumentException
DataTypesuccessor in interface DataTypesuccessor in class BaseDataTypejava.lang.IllegalArgumentExceptionpublic java.lang.Object convert(java.lang.Object value)
throws AxionException
IllegalArgumentExceptionif the given value isn't
acceptable.convert in interface DataTypeconvert in class BaseDataTypeAxionExceptionpublic java.lang.Object read(java.io.DataInput in)
throws java.io.IOException
DataTypeDataInput. The next
sequence of bytes to be read from the DataInput will have been
written by DataType.write(java.lang.Object, java.io.DataOutput).read in interface DataTyperead in class BaseDataTypejava.io.IOExceptionwrite(java.lang.Object, java.io.DataOutput)public void write(java.lang.Object value,
java.io.DataOutput out)
throws java.io.IOException
DataOutput.Null
values are written as Character.MIN_VALUE,false.
Character.MIN_VALUE values are written as
Character.MIN_VALUE,true. All other values are
written directly.write in interface DataTypewrite in class BaseDataTypevalue - the value to write, which must be acceptablejava.io.IOExceptionpublic DataType makeNewInstance()
DataTypemakeNewInstance in interface DataTypemakeNewInstance in interface DataTypeFactorymakeNewInstance in class BaseDataTypepublic int compare(java.lang.Object a,
java.lang.Object b)
compare in interface java.util.Comparatorcompare in class BaseDataTypepublic void setPrecision(int newSize)
DataType.NonFixedPrecisionsetPrecision in interface DataType.NonFixedPrecisionnewSize - new precision value. The appropriate value depends on the
precision radix, which is fixed for each implementing type.public java.lang.String getLiteralPrefix()
DataTypegetLiteralPrefix in interface DataTypegetLiteralPrefix in class BaseDataTypeDatabaseMetaData.getTypeInfo()public java.lang.String getLiteralSuffix()
DataTypegetLiteralSuffix in interface DataTypegetLiteralSuffix in class BaseDataTypeDatabaseMetaData.getTypeInfo()public short getSearchableCode()
DataTypeWHERE ... LIKE support is available across
a column of this typegetSearchableCode in interface DataTypegetSearchableCode in class BaseDataTypeDatabaseMetaData.getTypeInfo()protected java.util.Comparator getComparator()
BaseDataTypeComparableComparator.getComparator in class BaseDataTypeprotected java.lang.String process(java.lang.String value)
throws AxionException
AxionExceptionprotected final java.lang.String truncateIfLegal(java.lang.String source)
throws AxionException
AxionExceptionprotected final java.lang.String rightTrim(java.lang.String source)