Class SqlNullCheckedResultSet
- java.lang.Object
-
- org.apache.commons.dbutils.wrappers.SqlNullCheckedResultSet
-
- All Implemented Interfaces:
InvocationHandler
public class SqlNullCheckedResultSet extends Object implements InvocationHandler
Decorates aResultSetwith checks for a SQL NULL value on eachgetXXXmethod. If a column value obtained by agetXXXmethod 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 Javanullvalue, 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 Summary
Constructors Constructor Description SqlNullCheckedResultSet(ResultSet resultSet)Constructs a new instance ofSqlNullCheckedResultSetto wrap the specifiedResultSet.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description InputStreamgetNullAsciiStream()Returns the value when a SQL null is encountered as the result of invoking agetAsciiStreammethod.BigDecimalgetNullBigDecimal()Returns the value when a SQL null is encountered as the result of invoking agetBigDecimalmethod.InputStreamgetNullBinaryStream()Returns the value when a SQL null is encountered as the result of invoking agetBinaryStreammethod.BlobgetNullBlob()Returns the value when a SQL null is encountered as the result of invoking agetBlobmethod.booleangetNullBoolean()Returns the value when a SQL null is encountered as the result of invoking agetBooleanmethod.bytegetNullByte()Returns the value when a SQL null is encountered as the result of invoking agetBytemethod.byte[]getNullBytes()Returns the value when a SQL null is encountered as the result of invoking agetBytesmethod.ReadergetNullCharacterStream()Returns the value when a SQL null is encountered as the result of invoking agetCharacterStreammethod.ClobgetNullClob()Returns the value when a SQL null is encountered as the result of invoking agetClobmethod.DategetNullDate()Returns the value when a SQL null is encountered as the result of invoking agetDatemethod.doublegetNullDouble()Returns the value when a SQL null is encountered as the result of invoking agetDoublemethod.floatgetNullFloat()Returns the value when a SQL null is encountered as the result of invoking agetFloatmethod.intgetNullInt()Returns the value when a SQL null is encountered as the result of invoking agetIntmethod.longgetNullLong()Returns the value when a SQL null is encountered as the result of invoking agetLongmethod.ObjectgetNullObject()Returns the value when a SQL null is encountered as the result of invoking agetObjectmethod.RefgetNullRef()Returns the value when a SQL null is encountered as the result of invoking agetRefmethod.shortgetNullShort()Returns the value when a SQL null is encountered as the result of invoking agetShortmethod.StringgetNullString()Returns the value when a SQL null is encountered as the result of invoking agetStringmethod.TimegetNullTime()Returns the value when a SQL null is encountered as the result of invoking agetTimemethod.TimestampgetNullTimestamp()Returns the value when a SQL null is encountered as the result of invoking agetTimestampmethod.URLgetNullURL()Returns the value when a SQL null is encountered as the result of invoking agetURLmethod.Objectinvoke(Object proxy, Method method, Object[] args)Intercepts calls toget*methods and calls the appropriategetNull*method if theResultSetreturnednull.voidsetNullAsciiStream(InputStream nullAsciiStream)Sets the value to return when a SQL null is encountered as the result of invoking agetAsciiStreammethod.voidsetNullBigDecimal(BigDecimal nullBigDecimal)Sets the value to return when a SQL null is encountered as the result of invoking agetBigDecimalmethod.voidsetNullBinaryStream(InputStream nullBinaryStream)Sets the value to return when a SQL null is encountered as the result of invoking agetBinaryStreammethod.voidsetNullBlob(Blob nullBlob)Sets the value to return when a SQL null is encountered as the result of invoking agetBlobmethod.voidsetNullBoolean(boolean nullBoolean)Sets the value to return when a SQL null is encountered as the result of invoking agetBooleanmethod.voidsetNullByte(byte nullByte)Sets the value to return when a SQL null is encountered as the result of invoking agetBytemethod.voidsetNullBytes(byte[] nullBytes)Sets the value to return when a SQL null is encountered as the result of invoking agetBytesmethod.voidsetNullCharacterStream(Reader nullCharacterStream)Sets the value to return when a SQL null is encountered as the result of invoking agetCharacterStreammethod.voidsetNullClob(Clob nullClob)Sets the value to return when a SQL null is encountered as the result of invoking agetClobmethod.voidsetNullDate(Date nullDate)Sets the value to return when a SQL null is encountered as the result of invoking agetDatemethod.voidsetNullDouble(double nullDouble)Sets the value to return when a SQL null is encountered as the result of invoking agetDoublemethod.voidsetNullFloat(float nullFloat)Sets the value to return when a SQL null is encountered as the result of invoking agetFloatmethod.voidsetNullInt(int nullInt)Sets the value to return when a SQL null is encountered as the result of invoking agetIntmethod.voidsetNullLong(long nullLong)Sets the value to return when a SQL null is encountered as the result of invoking agetLongmethod.voidsetNullObject(Object nullObject)Sets the value to return when a SQL null is encountered as the result of invoking agetObjectmethod.voidsetNullRef(Ref nullRef)Sets the value to return when a SQL null is encountered as the result of invoking agetRefmethod.voidsetNullShort(short nullShort)Sets the value to return when a SQL null is encountered as the result of invoking agetShortmethod.voidsetNullString(String nullString)Sets the value to return when a SQL null is encountered as the result of invoking agetStringmethod.voidsetNullTime(Time nullTime)Sets the value to return when a SQL null is encountered as the result of invoking agetTimemethod.voidsetNullTimestamp(Timestamp nullTimestamp)Sets the value to return when a SQL null is encountered as the result of invoking agetTimestampmethod.voidsetNullURL(URL nullURL)Sets the value to return when a SQL null is encountered as the result of invoking agetURLmethod.static ResultSetwrap(ResultSet resultSet)Wraps theResultSetin an instance of this class.
-
-
-
Constructor Detail
-
SqlNullCheckedResultSet
public SqlNullCheckedResultSet(ResultSet resultSet)
Constructs a new instance ofSqlNullCheckedResultSetto wrap the specifiedResultSet.- Parameters:
resultSet- ResultSet to wrap
-
-
Method Detail
-
wrap
public static ResultSet wrap(ResultSet resultSet)
Wraps theResultSetin an instance of this class. This is equivalent to:ProxyFactory.instance().createResultSet(new SqlNullCheckedResultSet(resultSet));
- Parameters:
resultSet- TheResultSetto wrap.- Returns:
- wrapped ResultSet
-
getNullAsciiStream
public InputStream getNullAsciiStream()
Returns the value when a SQL null is encountered as the result of invoking agetAsciiStreammethod.- Returns:
- the value
-
getNullBigDecimal
public BigDecimal getNullBigDecimal()
Returns the value when a SQL null is encountered as the result of invoking agetBigDecimalmethod.- Returns:
- the value
-
getNullBinaryStream
public InputStream getNullBinaryStream()
Returns the value when a SQL null is encountered as the result of invoking agetBinaryStreammethod.- Returns:
- the value
-
getNullBlob
public Blob getNullBlob()
Returns the value when a SQL null is encountered as the result of invoking agetBlobmethod.- Returns:
- the value
-
getNullBoolean
public boolean getNullBoolean()
Returns the value when a SQL null is encountered as the result of invoking agetBooleanmethod.- Returns:
- the value
-
getNullByte
public byte getNullByte()
Returns the value when a SQL null is encountered as the result of invoking agetBytemethod.- Returns:
- the value
-
getNullBytes
public byte[] getNullBytes()
Returns the value when a SQL null is encountered as the result of invoking agetBytesmethod.- Returns:
- the value
-
getNullCharacterStream
public Reader getNullCharacterStream()
Returns the value when a SQL null is encountered as the result of invoking agetCharacterStreammethod.- Returns:
- the value
-
getNullClob
public Clob getNullClob()
Returns the value when a SQL null is encountered as the result of invoking agetClobmethod.- Returns:
- the value
-
getNullDate
public Date getNullDate()
Returns the value when a SQL null is encountered as the result of invoking agetDatemethod.- Returns:
- the value
-
getNullDouble
public double getNullDouble()
Returns the value when a SQL null is encountered as the result of invoking agetDoublemethod.- Returns:
- the value
-
getNullFloat
public float getNullFloat()
Returns the value when a SQL null is encountered as the result of invoking agetFloatmethod.- Returns:
- the value
-
getNullInt
public int getNullInt()
Returns the value when a SQL null is encountered as the result of invoking agetIntmethod.- Returns:
- the value
-
getNullLong
public long getNullLong()
Returns the value when a SQL null is encountered as the result of invoking agetLongmethod.- Returns:
- the value
-
getNullObject
public Object getNullObject()
Returns the value when a SQL null is encountered as the result of invoking agetObjectmethod.- Returns:
- the value
-
getNullRef
public Ref getNullRef()
Returns the value when a SQL null is encountered as the result of invoking agetRefmethod.- Returns:
- the value
-
getNullShort
public short getNullShort()
Returns the value when a SQL null is encountered as the result of invoking agetShortmethod.- Returns:
- the value
-
getNullString
public String getNullString()
Returns the value when a SQL null is encountered as the result of invoking agetStringmethod.- Returns:
- the value
-
getNullTime
public Time getNullTime()
Returns the value when a SQL null is encountered as the result of invoking agetTimemethod.- Returns:
- the value
-
getNullTimestamp
public Timestamp getNullTimestamp()
Returns the value when a SQL null is encountered as the result of invoking agetTimestampmethod.- Returns:
- the value
-
getNullURL
public URL getNullURL()
Returns the value when a SQL null is encountered as the result of invoking agetURLmethod.- 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 theResultSetreturnednull.- Specified by:
invokein 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 agetAsciiStreammethod.- 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 agetBigDecimalmethod.- 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 agetBinaryStreammethod.- 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 agetBlobmethod.- 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 agetBooleanmethod.- 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 agetBytemethod.- 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 agetBytesmethod.- 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 agetCharacterStreammethod.- 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 agetClobmethod.- 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 agetDatemethod.- 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 agetDoublemethod.- 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 agetFloatmethod.- 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 agetIntmethod.- 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 agetLongmethod.- 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 agetObjectmethod.- 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 agetRefmethod.- 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 agetShortmethod.- 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 agetStringmethod.- 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 agetTimemethod.- 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 agetTimestampmethod.- 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 agetURLmethod.- Parameters:
nullURL- the value
-
-