public class BigDecimalType extends BaseNumberDataType implements DataType.ExactNumeric
DataTyperepresenting an number value.DataType.BinaryRepresentation, DataType.ExactNumeric, DataType.NonFixedPrecision| Modifier and Type | Field and Description |
|---|---|
static int |
DEFAULT_PRECISION |
static int |
DEFAULT_SCALE |
static int |
MAX_PRECISION |
static int |
ROUNDING_RULE |
| Constructor and Description |
|---|
BigDecimalType() |
BigDecimalType(java.math.BigDecimal result) |
BigDecimalType(int scale) |
BigDecimalType(int precision,
int scale) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
accepts(java.lang.Object value)
|
int |
compare(java.lang.Object a,
java.lang.Object b) |
java.lang.Object |
convert(java.lang.Object value)
Returns a BigDecimal 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. |
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). |
int |
getScale()
Value returned by
ResultSetMetaData#getScalefor this data type. |
DataType |
makeNewInstance()
Creates a new instance of this DataType implementation.
|
DataType.ExactNumeric |
makeNewInstance(int newPrecision,
int newScale)
Creates a new instance of the implementing ExactNumeric type with the given
precision and scale.
|
java.lang.Object |
read(java.io.DataInput in)
Instantiate an object of my type from the given
DataInput. |
boolean |
requiresRounding(java.math.BigDecimal value) |
void |
setPrecision(int newPrecision)
Overrides the default precision with the given value.
|
void |
setScale(int newScale)
Overrides the default scale with the given value.
|
java.lang.Object |
successor(java.lang.Object value)
Returns the successor for the given value.
|
boolean |
supportsSuccessor()
false |
java.lang.String |
toString()
Returns
"BigDecimal" |
void |
write(java.lang.Object value,
java.io.DataOutput out)
Write an object of my type to the given
DataOutput. |
toNumbergetLiteralPrefix, getLiteralSuffix, getNullableCode, getPrecisionRadix, getSearchableCode, isCaseSensitive, isCurrency, isUnsigned, toBigDecimal, toBigInteger, toBlob, toBoolean, toByte, toByteArray, toClob, toDate, toDouble, toFloat, toInt, toLong, toShort, toString, toTime, toTimestamp, toURLclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetLiteralPrefix, getLiteralSuffix, getNullableCode, getPrecisionRadix, getSearchableCode, isCaseSensitive, isCurrency, isUnsigned, toBigDecimal, toBigInteger, toBlob, toBoolean, toByte, toByteArray, toClob, toDate, toDouble, toFloat, toInt, toLong, toShort, toString, toTime, toTimestamp, toURLpublic static final int ROUNDING_RULE
public static final int DEFAULT_PRECISION
public static final int DEFAULT_SCALE
public static final int MAX_PRECISION
public BigDecimalType()
public BigDecimalType(int scale)
public BigDecimalType(int precision,
int scale)
public BigDecimalType(java.math.BigDecimal result)
public int getColumnDisplaySize()
DataTypeResultSetMetaData#getColumnDisplaySizefor this data
type.getColumnDisplaySize in interface DataTypegetColumnDisplaySize in class BaseDataTypeResultSetMetaData.getColumnDisplaySize(int)public int getPrecision()
DataTypeResultSetMetaData#getPrecisionfor this data type.getPrecision in interface DataTypegetPrecision in class BaseDataTypeResultSetMetaData.getPrecision(int)public int getJdbcType()
DataTypetype codemost closely matching this type.getJdbcType in interface DataTypegetJdbcType in class BaseDataTypepublic 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 int getScale()
DataTypeResultSetMetaData#getScalefor this data type.getScale in interface DataTypegetScale in class BaseDataTypeResultSetMetaData.getScale(int)public void setPrecision(int newPrecision)
DataType.NonFixedPrecisionsetPrecision in interface DataType.NonFixedPrecisionnewPrecision - new precision value. The appropriate value depends on the
precision radix, which is fixed for each implementing type.public void setScale(int newScale)
DataType.ExactNumericsetScale in interface DataType.ExactNumericnewScale - new scale value. The appropriate value depends on the current
precision and radix - precision can be modified by the user, but the
radix is fixed for each implementing type.public java.lang.String toString()
"BigDecimal"toString in class java.lang.Object"BigDecimal"public boolean accepts(java.lang.Object value)
BaseNumberDataTypeaccepts in interface DataTypeaccepts in class BaseNumberDataTypevalue - non- null valuepublic boolean requiresRounding(java.math.BigDecimal value)
public java.lang.Object convert(java.lang.Object value)
throws AxionException
IllegalArgumentExceptionif the given value isn't
acceptable.convert in interface DataTypeconvert in class BaseNumberDataTypeAxionExceptionpublic 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 boolean supportsSuccessor()
falsesupportsSuccessor in interface DataTypesupportsSuccessor in class BaseNumberDataTypepublic java.lang.Object successor(java.lang.Object value)
throws java.lang.IllegalArgumentException
DataTypesuccessor in interface DataTypesuccessor in class BaseDataTypejava.lang.IllegalArgumentExceptionpublic void write(java.lang.Object value,
java.io.DataOutput out)
throws java.io.IOException
DataTypeDataOutput.write in interface DataTypewrite in class BaseDataTypevalue - the value to write, which must be acceptableto this
DataTypejava.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 DataType.ExactNumeric makeNewInstance(int newPrecision, int newScale)
DataType.ExactNumericmakeNewInstance in interface DataType.ExactNumericnewPrecision - precision of the new instancenewScale - scale of the new instanceprotected java.util.Comparator getComparator()
BaseDataTypeComparableComparator.getComparator in class BaseDataType