Class SqlNullCheckedResultSet
- java.lang.Object
-
- org.apache.commons.dbutils.wrappers.SqlNullCheckedResultSet
-
- All Implemented Interfaces:
InvocationHandler
public class SqlNullCheckedResultSet extends Object implements InvocationHandler
Decorates aResultSet
with checks for a SQL NULL value on eachgetXXX
method. If a column value obtained by agetXXX
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 Javanull
value, which can be overridden for instances of the class.Usage example:
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 Summary
Constructors Constructor Description SqlNullCheckedResultSet(ResultSet resultSet)
Constructs a new instance ofSqlNullCheckedResultSet
to wrap the specifiedResultSet
.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description InputStream
getNullAsciiStream()
Returns the value when a SQL null is encountered as the result of invoking agetAsciiStream
method.BigDecimal
getNullBigDecimal()
Returns the value when a SQL null is encountered as the result of invoking agetBigDecimal
method.InputStream
getNullBinaryStream()
Returns the value when a SQL null is encountered as the result of invoking agetBinaryStream
method.Blob
getNullBlob()
Returns the value when a SQL null is encountered as the result of invoking agetBlob
method.boolean
getNullBoolean()
Returns the value when a SQL null is encountered as the result of invoking agetBoolean
method.byte
getNullByte()
Returns the value when a SQL null is encountered as the result of invoking agetByte
method.byte[]
getNullBytes()
Returns the value when a SQL null is encountered as the result of invoking agetBytes
method.Reader
getNullCharacterStream()
Returns the value when a SQL null is encountered as the result of invoking agetCharacterStream
method.Clob
getNullClob()
Returns the value when a SQL null is encountered as the result of invoking agetClob
method.Date
getNullDate()
Returns the value when a SQL null is encountered as the result of invoking agetDate
method.double
getNullDouble()
Returns the value when a SQL null is encountered as the result of invoking agetDouble
method.float
getNullFloat()
Returns the value when a SQL null is encountered as the result of invoking agetFloat
method.int
getNullInt()
Returns the value when a SQL null is encountered as the result of invoking agetInt
method.long
getNullLong()
Returns the value when a SQL null is encountered as the result of invoking agetLong
method.Object
getNullObject()
Returns the value when a SQL null is encountered as the result of invoking agetObject
method.Ref
getNullRef()
Returns the value when a SQL null is encountered as the result of invoking agetRef
method.short
getNullShort()
Returns the value when a SQL null is encountered as the result of invoking agetShort
method.String
getNullString()
Returns the value when a SQL null is encountered as the result of invoking agetString
method.Time
getNullTime()
Returns the value when a SQL null is encountered as the result of invoking agetTime
method.Timestamp
getNullTimestamp()
Returns the value when a SQL null is encountered as the result of invoking agetTimestamp
method.URL
getNullURL()
Returns the value when a SQL null is encountered as the result of invoking agetURL
method.Object
invoke(Object proxy, Method method, Object[] args)
Intercepts calls toget*
methods and calls the appropriategetNull*
method if theResultSet
returnednull
.void
setNullAsciiStream(InputStream nullAsciiStream)
Sets the value to return when a SQL null is encountered as the result of invoking agetAsciiStream
method.void
setNullBigDecimal(BigDecimal nullBigDecimal)
Sets the value to return when a SQL null is encountered as the result of invoking agetBigDecimal
method.void
setNullBinaryStream(InputStream nullBinaryStream)
Sets the value to return when a SQL null is encountered as the result of invoking agetBinaryStream
method.void
setNullBlob(Blob nullBlob)
Sets the value to return when a SQL null is encountered as the result of invoking agetBlob
method.void
setNullBoolean(boolean nullBoolean)
Sets the value to return when a SQL null is encountered as the result of invoking agetBoolean
method.void
setNullByte(byte nullByte)
Sets the value to return when a SQL null is encountered as the result of invoking agetByte
method.void
setNullBytes(byte[] nullBytes)
Sets the value to return when a SQL null is encountered as the result of invoking agetBytes
method.void
setNullCharacterStream(Reader nullCharacterStream)
Sets the value to return when a SQL null is encountered as the result of invoking agetCharacterStream
method.void
setNullClob(Clob nullClob)
Sets the value to return when a SQL null is encountered as the result of invoking agetClob
method.void
setNullDate(Date nullDate)
Sets the value to return when a SQL null is encountered as the result of invoking agetDate
method.void
setNullDouble(double nullDouble)
Sets the value to return when a SQL null is encountered as the result of invoking agetDouble
method.void
setNullFloat(float nullFloat)
Sets the value to return when a SQL null is encountered as the result of invoking agetFloat
method.void
setNullInt(int nullInt)
Sets the value to return when a SQL null is encountered as the result of invoking agetInt
method.void
setNullLong(long nullLong)
Sets the value to return when a SQL null is encountered as the result of invoking agetLong
method.void
setNullObject(Object nullObject)
Sets the value to return when a SQL null is encountered as the result of invoking agetObject
method.void
setNullRef(Ref nullRef)
Sets the value to return when a SQL null is encountered as the result of invoking agetRef
method.void
setNullShort(short nullShort)
Sets the value to return when a SQL null is encountered as the result of invoking agetShort
method.void
setNullString(String nullString)
Sets the value to return when a SQL null is encountered as the result of invoking agetString
method.void
setNullTime(Time nullTime)
Sets the value to return when a SQL null is encountered as the result of invoking agetTime
method.void
setNullTimestamp(Timestamp nullTimestamp)
Sets the value to return when a SQL null is encountered as the result of invoking agetTimestamp
method.void
setNullURL(URL nullURL)
Sets the value to return when a SQL null is encountered as the result of invoking agetURL
method.static ResultSet
wrap(ResultSet resultSet)
Wraps theResultSet
in an instance of this class.
-
-
-
Constructor Detail
-
SqlNullCheckedResultSet
public SqlNullCheckedResultSet(ResultSet resultSet)
Constructs a new instance ofSqlNullCheckedResultSet
to wrap the specifiedResultSet
.- Parameters:
resultSet
- ResultSet to wrap
-
-
Method Detail
-
wrap
public static ResultSet wrap(ResultSet resultSet)
Wraps theResultSet
in an instance of this class. This is equivalent to:ProxyFactory.instance().createResultSet(new SqlNullCheckedResultSet(resultSet));
- Parameters:
resultSet
- TheResultSet
to wrap.- Returns:
- wrapped ResultSet
-
getNullAsciiStream
public InputStream getNullAsciiStream()
Returns the value when a SQL null is encountered as the result of invoking agetAsciiStream
method.- Returns:
- the value
-
getNullBigDecimal
public BigDecimal getNullBigDecimal()
Returns the value when a SQL null is encountered as the result of invoking agetBigDecimal
method.- Returns:
- the value
-
getNullBinaryStream
public InputStream getNullBinaryStream()
Returns the value when a SQL null is encountered as the result of invoking agetBinaryStream
method.- Returns:
- the value
-
getNullBlob
public Blob getNullBlob()
Returns the value when a SQL null is encountered as the result of invoking agetBlob
method.- Returns:
- the value
-
getNullBoolean
public boolean getNullBoolean()
Returns the value when a SQL null is encountered as the result of invoking agetBoolean
method.- Returns:
- the value
-
getNullByte
public byte getNullByte()
Returns the value when a SQL null is encountered as the result of invoking agetByte
method.- Returns:
- the value
-
getNullBytes
public byte[] getNullBytes()
Returns the value when a SQL null is encountered as the result of invoking agetBytes
method.- Returns:
- the value
-
getNullCharacterStream
public Reader getNullCharacterStream()
Returns the value when a SQL null is encountered as the result of invoking agetCharacterStream
method.- Returns:
- the value
-
getNullClob
public Clob getNullClob()
Returns the value when a SQL null is encountered as the result of invoking agetClob
method.- Returns:
- the value
-
getNullDate
public Date getNullDate()
Returns the value when a SQL null is encountered as the result of invoking agetDate
method.- Returns:
- the value
-
getNullDouble
public double getNullDouble()
Returns the value when a SQL null is encountered as the result of invoking agetDouble
method.- Returns:
- the value
-
getNullFloat
public float getNullFloat()
Returns the value when a SQL null is encountered as the result of invoking agetFloat
method.- Returns:
- the value
-
getNullInt
public int getNullInt()
Returns the value when a SQL null is encountered as the result of invoking agetInt
method.- Returns:
- the value
-
getNullLong
public long getNullLong()
Returns the value when a SQL null is encountered as the result of invoking agetLong
method.- Returns:
- the value
-
getNullObject
public Object getNullObject()
Returns the value when a SQL null is encountered as the result of invoking agetObject
method.- Returns:
- the value
-
getNullRef
public Ref getNullRef()
Returns the value when a SQL null is encountered as the result of invoking agetRef
method.- Returns:
- the value
-
getNullShort
public short getNullShort()
Returns the value when a SQL null is encountered as the result of invoking agetShort
method.- Returns:
- the value
-
getNullString
public String getNullString()
Returns the value when a SQL null is encountered as the result of invoking agetString
method.- Returns:
- the value
-
getNullTime
public Time getNullTime()
Returns the value when a SQL null is encountered as the result of invoking agetTime
method.- Returns:
- the value
-
getNullTimestamp
public Timestamp getNullTimestamp()
Returns the value when a SQL null is encountered as the result of invoking agetTimestamp
method.- Returns:
- the value
-
getNullURL
public URL getNullURL()
Returns the value when a SQL null is encountered as the result of invoking agetURL
method.- Returns:
- the value
-
invoke
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable
Intercepts calls toget*
methods and calls the appropriategetNull*
method if theResultSet
returnednull
.- Specified by:
invoke
in interfaceInvocationHandler
- Parameters:
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 set- Returns:
- null checked result
- Throws:
Throwable
- error- See Also:
InvocationHandler.invoke(Object, java.lang.reflect.Method, Object[])
-
setNullAsciiStream
public void setNullAsciiStream(InputStream nullAsciiStream)
Sets the value to return when a SQL null is encountered as the result of invoking agetAsciiStream
method.- Parameters:
nullAsciiStream
- the value
-
setNullBigDecimal
public void setNullBigDecimal(BigDecimal nullBigDecimal)
Sets the value to return when a SQL null is encountered as the result of invoking agetBigDecimal
method.- Parameters:
nullBigDecimal
- the value
-
setNullBinaryStream
public void setNullBinaryStream(InputStream nullBinaryStream)
Sets the value to return when a SQL null is encountered as the result of invoking agetBinaryStream
method.- Parameters:
nullBinaryStream
- the value
-
setNullBlob
public void setNullBlob(Blob nullBlob)
Sets the value to return when a SQL null is encountered as the result of invoking agetBlob
method.- Parameters:
nullBlob
- the value
-
setNullBoolean
public void setNullBoolean(boolean nullBoolean)
Sets the value to return when a SQL null is encountered as the result of invoking agetBoolean
method.- Parameters:
nullBoolean
- the value
-
setNullByte
public void setNullByte(byte nullByte)
Sets the value to return when a SQL null is encountered as the result of invoking agetByte
method.- Parameters:
nullByte
- the value
-
setNullBytes
public void setNullBytes(byte[] nullBytes)
Sets the value to return when a SQL null is encountered as the result of invoking agetBytes
method.- Parameters:
nullBytes
- the value
-
setNullCharacterStream
public void setNullCharacterStream(Reader nullCharacterStream)
Sets the value to return when a SQL null is encountered as the result of invoking agetCharacterStream
method.- Parameters:
nullCharacterStream
- the value
-
setNullClob
public void setNullClob(Clob nullClob)
Sets the value to return when a SQL null is encountered as the result of invoking agetClob
method.- Parameters:
nullClob
- the value
-
setNullDate
public void setNullDate(Date nullDate)
Sets the value to return when a SQL null is encountered as the result of invoking agetDate
method.- Parameters:
nullDate
- the value
-
setNullDouble
public void setNullDouble(double nullDouble)
Sets the value to return when a SQL null is encountered as the result of invoking agetDouble
method.- Parameters:
nullDouble
- the value
-
setNullFloat
public void setNullFloat(float nullFloat)
Sets the value to return when a SQL null is encountered as the result of invoking agetFloat
method.- Parameters:
nullFloat
- the value
-
setNullInt
public void setNullInt(int nullInt)
Sets the value to return when a SQL null is encountered as the result of invoking agetInt
method.- Parameters:
nullInt
- the value
-
setNullLong
public void setNullLong(long nullLong)
Sets the value to return when a SQL null is encountered as the result of invoking agetLong
method.- Parameters:
nullLong
- the value
-
setNullObject
public void setNullObject(Object nullObject)
Sets the value to return when a SQL null is encountered as the result of invoking agetObject
method.- Parameters:
nullObject
- the value
-
setNullRef
public void setNullRef(Ref nullRef)
Sets the value to return when a SQL null is encountered as the result of invoking agetRef
method.- Parameters:
nullRef
- the value
-
setNullShort
public void setNullShort(short nullShort)
Sets the value to return when a SQL null is encountered as the result of invoking agetShort
method.- Parameters:
nullShort
- the value
-
setNullString
public void setNullString(String nullString)
Sets the value to return when a SQL null is encountered as the result of invoking agetString
method.- Parameters:
nullString
- the value
-
setNullTime
public void setNullTime(Time nullTime)
Sets the value to return when a SQL null is encountered as the result of invoking agetTime
method.- Parameters:
nullTime
- the value
-
setNullTimestamp
public void setNullTimestamp(Timestamp nullTimestamp)
Sets the value to return when a SQL null is encountered as the result of invoking agetTimestamp
method.- Parameters:
nullTimestamp
- the value
-
setNullURL
public void setNullURL(URL nullURL)
Sets the value to return when a SQL null is encountered as the result of invoking agetURL
method.- Parameters:
nullURL
- the value
-
-