|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.afcs.warts.handlers.DataHandlerSupport org.afcs.warts.handlers.DecimalHandler
The DecimalHandler class handles decimal data. The object
returned by loadValue(java.sql.ResultSet, int)
, and expected by bindValue()
and
printValue()
is a java.match.BigDecimal
instance.
LICENSE: This code is released to the public domain and may be used for any purpose whatsoever without permission or acknowledgment.
Constructor Summary | |
DecimalHandler(TableDescription tableDescription,
ColumnDescription columnDescription)
Constructs a new instance on behalf of subclasses that will handle data values for the specified column in the specified table. |
Method Summary | |
void |
bindNonNullValue(java.sql.PreparedStatement statement,
int variableIndex,
java.lang.Object value)
This method binds the specified non-null value (which should be a java.math.BigDecimal instance) to the specified index in the
specified statement. |
int |
getNullType()
Oracle returns the constant java.sql.Types.OTHER for FLOAT
columns, and bizarrely, this can not be used when binding null values
in prepared statements. |
java.lang.Object |
loadValue(java.sql.ResultSet resultSet,
int columnIndex)
Returns a java.math.BigDecimal instance with the decimal value
of the specified column from the specified result set, if non-null. |
java.lang.String |
printNonNullValue(java.lang.Object value)
Returns the result of value.toString(), which means avoiding having to cast the object to a java.math.BigDecimal . |
Methods inherited from class org.afcs.warts.handlers.DataHandlerSupport |
getColumnDescription, getTableDescription, isCharacterData, isNullHandler, loadBytesFromStream, logWrongValueTypeWarning, postProcessBind, requiresBindPostProcessing, requiresStreamedLoading, toString, verifyObjectIsString |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface org.afcs.warts.handlers.DataHandler |
isCharacterData, isNullHandler, postProcessBind, requiresBindPostProcessing, requiresStreamedLoading |
Constructor Detail |
public DecimalHandler(TableDescription tableDescription, ColumnDescription columnDescription)
tableDescription
- The table that the handler will be handling data
for.columnDescription
- The column that this class will be processing
data for.Method Detail |
public void bindNonNullValue(java.sql.PreparedStatement statement, int variableIndex, java.lang.Object value) throws java.sql.SQLException
java.math.BigDecimal
instance) to the specified index in the
specified statement. A warning message is logged if the value is not
a BigDecimal.
bindNonNullValue
in interface DataHandler
statement
- The statement to bind the value in.variableIndex
- The index of the variable to bind.value
- The value to bind to the statement.
java.sql.SQLException
- If a SQL error occurs during binding.public int getNullType()
java.sql.Types.OTHER
for FLOAT
columns, and bizarrely, this can not be used when binding null values
in prepared statements. This method overrides the default behaviour
always returning java.sql.Types.DECIMAL
. See my post to Oracle's JDBC forum.
getNullType
in interface DataHandler
getNullType
in class DataHandlerSupport
java.sql.Types.DECIMAL
.public java.lang.Object loadValue(java.sql.ResultSet resultSet, int columnIndex) throws java.sql.SQLException
java.math.BigDecimal
instance with the decimal value
of the specified column from the specified result set, if non-null.
loadValue
in interface DataHandler
resultSet
- The result set to load data from.columnIndex
- The index of the column to load data from.
java.sql.SQLException
- If a SQL exception occurs while loading data.public java.lang.String printNonNullValue(java.lang.Object value)
java.math.BigDecimal
.
printNonNullValue
in interface DataHandler
value
- The object value to print.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |