Package org.firebirdsql.jdbc.field
Class FBLongVarCharField
- java.lang.Object
-
- org.firebirdsql.jdbc.field.FBField
-
- org.firebirdsql.jdbc.field.FBLongVarCharField
-
- All Implemented Interfaces:
BlobListenableField
,FBCloseableField
,FBFlushableField
,TrimmableField
public class FBLongVarCharField extends FBField implements FBCloseableField, FBFlushableField, BlobListenableField
This is Blob-based implementation ofFBStringField
. It should be used for fields declared in database asBLOB SUB_TYPE 1
. This implementation provides all conversion routinesFBStringField
has.- Author:
- Roman Rokytskyy, Mark Rotteveel
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.firebirdsql.jdbc.field.FBFlushableField
FBFlushableField.CachedObject
-
-
Field Summary
Fields Modifier and Type Field Description protected int
possibleCharLength
-
Fields inherited from class org.firebirdsql.jdbc.field.FBField
fieldDescriptor, gdsHelper, requiredType
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
Close this field.void
flushCachedData()
Flush cached data to the database server.java.math.BigDecimal
getBigDecimal()
java.math.BigInteger
getBigInteger()
java.io.InputStream
getBinaryStream()
java.sql.Blob
getBlob()
boolean
getBoolean()
byte
getByte()
byte[]
getBytes()
byte[]
getCachedData()
Get cached data.FBFlushableField.CachedObject
getCachedObject()
java.sql.Clob
getClob()
java.sql.Date
getDate()
java.sql.Date
getDate(java.util.Calendar cal)
double
getDouble()
float
getFloat()
int
getInt()
long
getLong()
java.lang.Object
getObject()
short
getShort()
java.lang.String
getString()
java.sql.Time
getTime()
java.sql.Time
getTime(java.util.Calendar cal)
java.sql.Timestamp
getTimestamp()
java.sql.Timestamp
getTimestamp(java.util.Calendar cal)
boolean
isTrimTrailing()
void
setBigDecimal(java.math.BigDecimal value)
void
setBigInteger(java.math.BigInteger value)
protected void
setBinaryStreamInternal(java.io.InputStream in, long length)
void
setBlob(java.sql.Blob blob)
void
setBlob(FBBlob blob)
void
setBlobListener(FBObjectListener.BlobListener blobListener)
Sets the blob listener of the field.void
setBoolean(boolean value)
void
setByte(byte value)
void
setBytes(byte[] value)
void
setCachedObject(FBFlushableField.CachedObject cachedObject)
protected void
setCharacterStreamInternal(java.io.Reader in, long length)
void
setClob(java.sql.Clob clob)
void
setClob(FBClob clob)
void
setDate(java.sql.Date value)
void
setDate(java.sql.Date value, java.util.Calendar cal)
void
setDouble(double value)
void
setFloat(float value)
void
setInteger(int value)
void
setLong(long value)
void
setNull()
void
setShort(short value)
void
setString(java.lang.String value)
void
setTime(java.sql.Time value)
void
setTime(java.sql.Time value, java.util.Calendar cal)
void
setTimestamp(java.sql.Timestamp value)
void
setTimestamp(java.sql.Timestamp value, java.util.Calendar cal)
void
setTrimTrailing(boolean trimTrailing)
Enable or disable trimming of trailing spaces.-
Methods inherited from class org.firebirdsql.jdbc.field.FBField
createField, getAlias, getArray, getBigDecimal, getCharacterStream, getDatatypeCoder, getDecimal, getDecimal, getFieldData, getName, getObject, getObject, getRawDateTimeStruct, getRef, getRelationName, getRowId, isInvertTimeZone, isNull, setBinaryStream, setBinaryStream, setBinaryStream, setCharacterStream, setCharacterStream, setCharacterStream, setConnection, setDecimal, setFieldData, setObject, setRawDateTimeStruct, setRequiredType, setRowId
-
-
-
-
Method Detail
-
setBlobListener
public void setBlobListener(FBObjectListener.BlobListener blobListener)
Description copied from interface:BlobListenableField
Sets the blob listener of the field.- Specified by:
setBlobListener
in interfaceBlobListenableField
- Parameters:
blobListener
- blob listener
-
close
public void close() throws java.sql.SQLException
Description copied from interface:FBCloseableField
Close this field. This method tells field implementation to release all resources allocated when field methods were called.- Specified by:
close
in interfaceFBCloseableField
- Throws:
java.sql.SQLException
- if field cannot be closed.
-
getBlob
public java.sql.Blob getBlob() throws java.sql.SQLException
-
getClob
public java.sql.Clob getClob() throws java.sql.SQLException
-
getBinaryStream
public java.io.InputStream getBinaryStream() throws java.sql.SQLException
- Throws:
java.sql.SQLException
-
getBytes
public byte[] getBytes() throws java.sql.SQLException
- Throws:
java.sql.SQLException
-
getCachedData
public byte[] getCachedData() throws java.sql.SQLException
Description copied from interface:FBFlushableField
Get cached data.- Specified by:
getCachedData
in interfaceFBFlushableField
- Returns:
- cached object of this field.
- Throws:
java.sql.SQLException
- if something went wrong.
-
getCachedObject
public FBFlushableField.CachedObject getCachedObject() throws java.sql.SQLException
- Specified by:
getCachedObject
in interfaceFBFlushableField
- Throws:
java.sql.SQLException
-
setCachedObject
public void setCachedObject(FBFlushableField.CachedObject cachedObject)
- Specified by:
setCachedObject
in interfaceFBFlushableField
-
getString
public java.lang.String getString() throws java.sql.SQLException
- Throws:
java.sql.SQLException
-
setBlob
public void setBlob(FBBlob blob) throws java.sql.SQLException
-
setBlob
public void setBlob(java.sql.Blob blob) throws java.sql.SQLException
-
setClob
public void setClob(FBClob clob) throws java.sql.SQLException
-
setClob
public void setClob(java.sql.Clob clob) throws java.sql.SQLException
-
setCharacterStreamInternal
protected void setCharacterStreamInternal(java.io.Reader in, long length)
-
setString
public void setString(java.lang.String value) throws java.sql.SQLException
- Throws:
java.sql.SQLException
-
setBytes
public void setBytes(byte[] value) throws java.sql.SQLException
- Throws:
java.sql.SQLException
-
setBinaryStreamInternal
protected void setBinaryStreamInternal(java.io.InputStream in, long length)
-
flushCachedData
public void flushCachedData() throws java.sql.SQLException
Description copied from interface:FBFlushableField
Flush cached data to the database server.- Specified by:
flushCachedData
in interfaceFBFlushableField
- Throws:
java.sql.SQLException
- if something went wrong.
-
setTrimTrailing
public final void setTrimTrailing(boolean trimTrailing)
Description copied from interface:TrimmableField
Enable or disable trimming of trailing spaces.NOTE: The behaviour applies to
FBField.getString()
and code paths that work throughgetString()
(this usually includesFBField.getObject()
.- Specified by:
setTrimTrailing
in interfaceTrimmableField
- Parameters:
trimTrailing
-true
trim trailing spaces
-
isTrimTrailing
public final boolean isTrimTrailing()
- Specified by:
isTrimTrailing
in interfaceTrimmableField
- Returns:
true
trim trailing enabled,false
trim trailing disabled
-
getObject
public java.lang.Object getObject() throws java.sql.SQLException
-
getByte
public byte getByte() throws java.sql.SQLException
-
getShort
public short getShort() throws java.sql.SQLException
-
getInt
public int getInt() throws java.sql.SQLException
-
getLong
public long getLong() throws java.sql.SQLException
-
getBigDecimal
public java.math.BigDecimal getBigDecimal() throws java.sql.SQLException
- Overrides:
getBigDecimal
in classFBField
- Throws:
java.sql.SQLException
-
getFloat
public float getFloat() throws java.sql.SQLException
-
getDouble
public double getDouble() throws java.sql.SQLException
-
getBoolean
public boolean getBoolean() throws java.sql.SQLException
- Overrides:
getBoolean
in classFBField
- Throws:
java.sql.SQLException
-
getDate
public java.sql.Date getDate(java.util.Calendar cal) throws java.sql.SQLException
-
getDate
public java.sql.Date getDate() throws java.sql.SQLException
-
getTime
public java.sql.Time getTime(java.util.Calendar cal) throws java.sql.SQLException
-
getTime
public java.sql.Time getTime() throws java.sql.SQLException
-
getTimestamp
public java.sql.Timestamp getTimestamp(java.util.Calendar cal) throws java.sql.SQLException
- Overrides:
getTimestamp
in classFBField
- Throws:
java.sql.SQLException
-
getTimestamp
public java.sql.Timestamp getTimestamp() throws java.sql.SQLException
- Overrides:
getTimestamp
in classFBField
- Throws:
java.sql.SQLException
-
getBigInteger
public java.math.BigInteger getBigInteger() throws java.sql.SQLException
- Overrides:
getBigInteger
in classFBField
- Throws:
java.sql.SQLException
-
setByte
public void setByte(byte value) throws java.sql.SQLException
-
setShort
public void setShort(short value) throws java.sql.SQLException
-
setInteger
public void setInteger(int value) throws java.sql.SQLException
- Overrides:
setInteger
in classFBField
- Throws:
java.sql.SQLException
-
setLong
public void setLong(long value) throws java.sql.SQLException
-
setFloat
public void setFloat(float value) throws java.sql.SQLException
-
setDouble
public void setDouble(double value) throws java.sql.SQLException
-
setBigDecimal
public void setBigDecimal(java.math.BigDecimal value) throws java.sql.SQLException
- Overrides:
setBigDecimal
in classFBField
- Throws:
java.sql.SQLException
-
setBoolean
public void setBoolean(boolean value) throws java.sql.SQLException
- Overrides:
setBoolean
in classFBField
- Throws:
java.sql.SQLException
-
setDate
public void setDate(java.sql.Date value, java.util.Calendar cal) throws java.sql.SQLException
-
setDate
public void setDate(java.sql.Date value) throws java.sql.SQLException
-
setTime
public void setTime(java.sql.Time value, java.util.Calendar cal) throws java.sql.SQLException
-
setTime
public void setTime(java.sql.Time value) throws java.sql.SQLException
-
setTimestamp
public void setTimestamp(java.sql.Timestamp value, java.util.Calendar cal) throws java.sql.SQLException
- Overrides:
setTimestamp
in classFBField
- Throws:
java.sql.SQLException
-
setTimestamp
public void setTimestamp(java.sql.Timestamp value) throws java.sql.SQLException
- Overrides:
setTimestamp
in classFBField
- Throws:
java.sql.SQLException
-
setBigInteger
public void setBigInteger(java.math.BigInteger value) throws java.sql.SQLException
- Overrides:
setBigInteger
in classFBField
- Throws:
java.sql.SQLException
-
-