|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.axiondb.types.BaseDataType
org.axiondb.types.BaseNumberDataType
org.axiondb.types.BigDecimalType
public class BigDecimalType
A DataTyperepresenting an number value.
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from interface org.axiondb.DataType |
|---|
DataType.BinaryRepresentation, DataType.ExactNumeric, DataType.NonFixedPrecision |
| Field Summary | |
|---|---|
static int |
DEFAULT_PRECISION
|
static int |
DEFAULT_SCALE
|
static int |
MAX_PRECISION
|
static int |
ROUNDING_RULE
|
| Constructor Summary | |
|---|---|
BigDecimalType()
|
|
BigDecimalType(java.math.BigDecimal result)
|
|
BigDecimalType(int scale)
|
|
BigDecimalType(int precision,
int scale)
|
|
| Method Summary | |
|---|---|
boolean |
accepts(java.lang.Object value)
Returns true iff value is String that can be
convertedwithout exception, null, or a
Number. |
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. |
| Methods inherited from class org.axiondb.types.BaseNumberDataType |
|---|
toNumber |
| Methods inherited from class org.axiondb.types.BaseDataType |
|---|
getLiteralPrefix, getLiteralSuffix, getNullableCode, getPrecisionRadix, getSearchableCode, isCaseSensitive, isCurrency, isUnsigned, toBigDecimal, toBigInteger, toBlob, toBoolean, toByte, toByteArray, toClob, toDate, toDouble, toFloat, toInt, toLong, toShort, toString, toTime, toTimestamp, toURL |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface org.axiondb.DataType |
|---|
getLiteralPrefix, getLiteralSuffix, getNullableCode, getPrecisionRadix, getSearchableCode, isCaseSensitive, isCurrency, isUnsigned, toBigDecimal, toBigInteger, toBlob, toBoolean, toByte, toByteArray, toClob, toDate, toDouble, toFloat, toInt, toLong, toShort, toString, toTime, toTimestamp, toURL |
| Methods inherited from interface java.util.Comparator |
|---|
equals |
| Field Detail |
|---|
public static final int ROUNDING_RULE
public static final int DEFAULT_PRECISION
public static final int DEFAULT_SCALE
public static final int MAX_PRECISION
| Constructor Detail |
|---|
public BigDecimalType()
public BigDecimalType(int scale)
public BigDecimalType(int precision,
int scale)
public BigDecimalType(java.math.BigDecimal result)
| Method Detail |
|---|
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.NonFixedPrecision
setPrecision 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.ExactNumeric
setScale 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)
BaseNumberDataTypetrue iff value is String that can be
convertedwithout exception, null, or a
Number.
accepts 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 BaseNumberDataTypeAxionException
public 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()
false
supportsSuccessor in interface DataTypesupportsSuccessor in class BaseNumberDataType
public java.lang.Object successor(java.lang.Object value)
throws java.lang.IllegalArgumentException
DataType
successor in interface DataTypesuccessor in class BaseDataTypejava.lang.IllegalArgumentException
public 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
DataType
java.io.IOExceptionpublic DataType makeNewInstance()
DataType
makeNewInstance in interface DataTypemakeNewInstance in interface DataTypeFactorymakeNewInstance in class BaseDataType
public int compare(java.lang.Object a,
java.lang.Object b)
compare in interface java.util.Comparatorcompare in class BaseDataType
public DataType.ExactNumeric makeNewInstance(int newPrecision,
int newScale)
DataType.ExactNumeric
makeNewInstance in interface DataType.ExactNumericnewPrecision - precision of the new instancenewScale - scale of the new instance
protected java.util.Comparator getComparator()
BaseDataTypeComparableComparator.
getComparator in class BaseDataType
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||