public class SqlNullCheckedResultSet extends Object implements InvocationHandler
ResultSet
with checks for a SQL NULL value on each
getXXX
method. If a column value obtained by a
getXXX
method is not SQL NULL, the column value is returned. If
the column value is SQL null, an alternate value is returned. The alternate
value defaults to the Java null
value, which can be overridden
for instances of the class.
Usage example:
</p>Connection conn = // somehow get a connection Statement stmt = conn.createStatement(); ResultSet resultSet = stmt.executeQuery("SELECT col1, col2 FROM table1"); // Wrap the result set for SQL NULL checking SqlNullCheckedResultSet wrapper = new SqlNullCheckedResultSet(resultSet); wrapper.setNullString("---N/A---"); // Set null string wrapper.setNullInt(-999); // Set null integer resultSet = ProxyFactory.instance().createResultSet(wrapper); while (resultSet.next()) { // If col1 is SQL NULL, value returned will be "---N/A---" String col1 = resultSet.getString("col1"); // If col2 is SQL NULL, value returned will be -999 int col2 = resultSet.getInt("col2"); } resultSet.close();
Unlike some other classes in DbUtils, this class is NOT thread-safe.
Constructor and Description |
---|
SqlNullCheckedResultSet(ResultSet resultSet)
Constructs a new instance of
SqlNullCheckedResultSet
to wrap the specified ResultSet . |
Modifier and Type | Method and Description |
---|---|
InputStream |
getNullAsciiStream()
Returns the value when a SQL null is encountered as the result of
invoking a
getAsciiStream method. |
BigDecimal |
getNullBigDecimal()
Returns the value when a SQL null is encountered as the result of
invoking a
getBigDecimal method. |
InputStream |
getNullBinaryStream()
Returns the value when a SQL null is encountered as the result of
invoking a
getBinaryStream method. |
Blob |
getNullBlob()
Returns the value when a SQL null is encountered as the result of
invoking a
getBlob method. |
boolean |
getNullBoolean()
Returns the value when a SQL null is encountered as the result of
invoking a
getBoolean method. |
byte |
getNullByte()
Returns the value when a SQL null is encountered as the result of
invoking a
getByte method. |
byte[] |
getNullBytes()
Returns the value when a SQL null is encountered as the result of
invoking a
getBytes method. |
Reader |
getNullCharacterStream()
Returns the value when a SQL null is encountered as the result of
invoking a
getCharacterStream method. |
Clob |
getNullClob()
Returns the value when a SQL null is encountered as the result of
invoking a
getClob method. |
Date |
getNullDate()
Returns the value when a SQL null is encountered as the result of
invoking a
getDate method. |
double |
getNullDouble()
Returns the value when a SQL null is encountered as the result of
invoking a
getDouble method. |
float |
getNullFloat()
Returns the value when a SQL null is encountered as the result of
invoking a
getFloat method. |
int |
getNullInt()
Returns the value when a SQL null is encountered as the result of
invoking a
getInt method. |
long |
getNullLong()
Returns the value when a SQL null is encountered as the result of
invoking a
getLong method. |
Object |
getNullObject()
Returns the value when a SQL null is encountered as the result of
invoking a
getObject method. |
Ref |
getNullRef()
Returns the value when a SQL null is encountered as the result of
invoking a
getRef method. |
short |
getNullShort()
Returns the value when a SQL null is encountered as the result of
invoking a
getShort method. |
String |
getNullString()
Returns the value when a SQL null is encountered as the result of
invoking a
getString method. |
Time |
getNullTime()
Returns the value when a SQL null is encountered as the result of
invoking a
getTime method. |
Timestamp |
getNullTimestamp()
Returns the value when a SQL null is encountered as the result of
invoking a
getTimestamp method. |
URL |
getNullURL()
Returns the value when a SQL null is encountered as the result of
invoking a
getURL method. |
Object |
invoke(Object proxy,
Method method,
Object[] args)
Intercepts calls to
get* methods and calls the appropriate
getNull* method if the ResultSet returned
null . |
void |
setNullAsciiStream(InputStream nullAsciiStream)
Sets the value to return when a SQL null is encountered as the result of
invoking a
getAsciiStream method. |
void |
setNullBigDecimal(BigDecimal nullBigDecimal)
Sets the value to return when a SQL null is encountered as the result of
invoking a
getBigDecimal method. |
void |
setNullBinaryStream(InputStream nullBinaryStream)
Sets the value to return when a SQL null is encountered as the result of
invoking a
getBinaryStream method. |
void |
setNullBlob(Blob nullBlob)
Sets the value to return when a SQL null is encountered as the result of
invoking a
getBlob method. |
void |
setNullBoolean(boolean nullBoolean)
Sets the value to return when a SQL null is encountered as the result of
invoking a
getBoolean method. |
void |
setNullByte(byte nullByte)
Sets the value to return when a SQL null is encountered as the result of
invoking a
getByte method. |
void |
setNullBytes(byte[] nullBytes)
Sets the value to return when a SQL null is encountered as the result of
invoking a
getBytes method. |
void |
setNullCharacterStream(Reader nullCharacterStream)
Sets the value to return when a SQL null is encountered as the result of
invoking a
getCharacterStream method. |
void |
setNullClob(Clob nullClob)
Sets the value to return when a SQL null is encountered as the result of
invoking a
getClob method. |
void |
setNullDate(Date nullDate)
Sets the value to return when a SQL null is encountered as the result of
invoking a
getDate method. |
void |
setNullDouble(double nullDouble)
Sets the value to return when a SQL null is encountered as the result of
invoking a
getDouble method. |
void |
setNullFloat(float nullFloat)
Sets the value to return when a SQL null is encountered as the result of
invoking a
getFloat method. |
void |
setNullInt(int nullInt)
Sets the value to return when a SQL null is encountered as the result of
invoking a
getInt method. |
void |
setNullLong(long nullLong)
Sets the value to return when a SQL null is encountered as the result of
invoking a
getLong method. |
void |
setNullObject(Object nullObject)
Sets the value to return when a SQL null is encountered as the result of
invoking a
getObject method. |
void |
setNullRef(Ref nullRef)
Sets the value to return when a SQL null is encountered as the result of
invoking a
getRef method. |
void |
setNullShort(short nullShort)
Sets the value to return when a SQL null is encountered as the result of
invoking a
getShort method. |
void |
setNullString(String nullString)
Sets the value to return when a SQL null is encountered as the result of
invoking a
getString method. |
void |
setNullTime(Time nullTime)
Sets the value to return when a SQL null is encountered as the result of
invoking a
getTime method. |
void |
setNullTimestamp(Timestamp nullTimestamp)
Sets the value to return when a SQL null is encountered as the result of
invoking a
getTimestamp method. |
void |
setNullURL(URL nullURL)
Sets the value to return when a SQL null is encountered as the result of
invoking a
getURL method. |
static ResultSet |
wrap(ResultSet resultSet)
Wraps the
ResultSet in an instance of this class. |
public SqlNullCheckedResultSet(ResultSet resultSet)
SqlNullCheckedResultSet
to wrap the specified ResultSet
.resultSet
- ResultSet to wrappublic static ResultSet wrap(ResultSet resultSet)
ResultSet
in an instance of this class. This is
equivalent to:
ProxyFactory.instance().createResultSet(new SqlNullCheckedResultSet(resultSet));
resultSet
- The ResultSet
to wrap.public InputStream getNullAsciiStream()
getAsciiStream
method.public BigDecimal getNullBigDecimal()
getBigDecimal
method.public InputStream getNullBinaryStream()
getBinaryStream
method.public Blob getNullBlob()
getBlob
method.public boolean getNullBoolean()
getBoolean
method.public byte getNullByte()
getByte
method.public byte[] getNullBytes()
getBytes
method.public Reader getNullCharacterStream()
getCharacterStream
method.public Clob getNullClob()
getClob
method.public Date getNullDate()
getDate
method.public double getNullDouble()
getDouble
method.public float getNullFloat()
getFloat
method.public int getNullInt()
getInt
method.public long getNullLong()
getLong
method.public Object getNullObject()
getObject
method.public Ref getNullRef()
getRef
method.public short getNullShort()
getShort
method.public String getNullString()
getString
method.public Time getNullTime()
getTime
method.public Timestamp getNullTimestamp()
getTimestamp
method.public URL getNullURL()
getURL
method.public Object invoke(Object proxy, Method method, Object[] args) throws Throwable
get*
methods and calls the appropriate
getNull*
method if the ResultSet
returned
null
.invoke
in interface InvocationHandler
proxy
- Not used; all method calls go to the internal result setmethod
- The method to invoke on the result setargs
- The arguments to pass to the result setThrowable
- errorInvocationHandler.invoke(Object, java.lang.reflect.Method, Object[])
public void setNullAsciiStream(InputStream nullAsciiStream)
getAsciiStream
method.nullAsciiStream
- the valuepublic void setNullBigDecimal(BigDecimal nullBigDecimal)
getBigDecimal
method.nullBigDecimal
- the valuepublic void setNullBinaryStream(InputStream nullBinaryStream)
getBinaryStream
method.nullBinaryStream
- the valuepublic void setNullBlob(Blob nullBlob)
getBlob
method.nullBlob
- the valuepublic void setNullBoolean(boolean nullBoolean)
getBoolean
method.nullBoolean
- the valuepublic void setNullByte(byte nullByte)
getByte
method.nullByte
- the valuepublic void setNullBytes(byte[] nullBytes)
getBytes
method.nullBytes
- the valuepublic void setNullCharacterStream(Reader nullCharacterStream)
getCharacterStream
method.nullCharacterStream
- the valuepublic void setNullClob(Clob nullClob)
getClob
method.nullClob
- the valuepublic void setNullDate(Date nullDate)
getDate
method.nullDate
- the valuepublic void setNullDouble(double nullDouble)
getDouble
method.nullDouble
- the valuepublic void setNullFloat(float nullFloat)
getFloat
method.nullFloat
- the valuepublic void setNullInt(int nullInt)
getInt
method.nullInt
- the valuepublic void setNullLong(long nullLong)
getLong
method.nullLong
- the valuepublic void setNullObject(Object nullObject)
getObject
method.nullObject
- the valuepublic void setNullRef(Ref nullRef)
getRef
method.nullRef
- the valuepublic void setNullShort(short nullShort)
getShort
method.nullShort
- the valuepublic void setNullString(String nullString)
getString
method.nullString
- the valuepublic void setNullTime(Time nullTime)
getTime
method.nullTime
- the valuepublic void setNullTimestamp(Timestamp nullTimestamp)
getTimestamp
method.nullTimestamp
- the valuepublic void setNullURL(URL nullURL)
getURL
method.nullURL
- the valueCopyright © 2002–2023 The Apache Software Foundation. All rights reserved.