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 of `FBStringField`. It should be used for fields declared in database as `BLOB SUB_TYPE 1`. This implementation provides all conversion routines `FBStringField` 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
`protected int` `possibleCharLength`

### Fields inherited from class org.firebirdsql.jdbc.field.FBField

`fieldDescriptor, gdsHelper, requiredType`

### Method Summary

All Methods Instance Methods Concrete Methods
`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()`
`protected FirebirdBlob` `getBlobInternal()`
`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`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### possibleCharLength

    protected final int possibleCharLength

### 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 interface `BlobListenableField`
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 interface `FBCloseableField`
Throws:
  `java.sql.SQLException` - if field cannot be closed.

#### getBlob

    public java.sql.Blob getBlob()
                          throws java.sql.SQLException

Overrides:
  `getBlob` in class `FBField`
Throws:
  `java.sql.SQLException`

#### getBlobInternal

    protected FirebirdBlob getBlobInternal()

#### getClob

    public java.sql.Clob getClob()
                          throws java.sql.SQLException

Overrides:
  `getClob` in class `FBField`
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 interface `FBFlushableField`
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 interface `FBFlushableField`
Throws:
  `java.sql.SQLException`

#### setCachedObject

    public void setCachedObject​(FBFlushableField.CachedObject cachedObject)

Specified by:
  `setCachedObject` in interface `FBFlushableField`

#### getString

    public java.lang.String getString()
                               throws java.sql.SQLException

Throws:
  `java.sql.SQLException`

#### setBlob

    public void setBlob​(FBBlob blob)
                 throws java.sql.SQLException

Overrides:
  `setBlob` in class `FBField`
Throws:
  `java.sql.SQLException`

#### setBlob

    public void setBlob​(java.sql.Blob blob)
                 throws java.sql.SQLException

Overrides:
  `setBlob` in class `FBField`
Throws:
  `java.sql.SQLException`

#### setClob

    public void setClob​(FBClob clob)
                 throws java.sql.SQLException

Overrides:
  `setClob` in class `FBField`
Throws:
  `java.sql.SQLException`

#### setClob

    public void setClob​(java.sql.Clob clob)
                 throws java.sql.SQLException

Overrides:
  `setClob` in class `FBField`
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 interface `FBFlushableField`
Throws:
  `java.sql.SQLException` - if something went wrong.

#### setNull

    public void setNull()

Overrides:
  `setNull` in class `FBField`

#### 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 through `getString()` (this usually includes `FBField.getObject()`.

Specified by:
  `setTrimTrailing` in interface `TrimmableField`
Parameters:
  `trimTrailing` - `true` trim trailing spaces

#### isTrimTrailing

    public final boolean isTrimTrailing()

Specified by:
  `isTrimTrailing` in interface `TrimmableField`
Returns:
  `true` trim trailing enabled, `false` trim trailing disabled

#### getObject

    public java.lang.Object getObject()
                               throws java.sql.SQLException

Overrides:
  `getObject` in class `FBField`
Throws:
  `java.sql.SQLException`

#### getByte

    public byte getByte()
                 throws java.sql.SQLException

Overrides:
  `getByte` in class `FBField`
Throws:
  `java.sql.SQLException`

#### getShort

    public short getShort()
                   throws java.sql.SQLException

Overrides:
  `getShort` in class `FBField`
Throws:
  `java.sql.SQLException`

#### getInt

    public int getInt()
               throws java.sql.SQLException

Overrides:
  `getInt` in class `FBField`
Throws:
  `java.sql.SQLException`

#### getLong

    public long getLong()
                 throws java.sql.SQLException

Overrides:
  `getLong` in class `FBField`
Throws:
  `java.sql.SQLException`

#### getBigDecimal

    public java.math.BigDecimal getBigDecimal()
                                       throws java.sql.SQLException

Overrides:
  `getBigDecimal` in class `FBField`
Throws:
  `java.sql.SQLException`

#### getFloat

    public float getFloat()
                   throws java.sql.SQLException

Overrides:
  `getFloat` in class `FBField`
Throws:
  `java.sql.SQLException`

#### getDouble

    public double getDouble()
                     throws java.sql.SQLException

Overrides:
  `getDouble` in class `FBField`
Throws:
  `java.sql.SQLException`

#### getBoolean

    public boolean getBoolean()
                       throws java.sql.SQLException

Overrides:
  `getBoolean` in class `FBField`
Throws:
  `java.sql.SQLException`

#### getDate

    public java.sql.Date getDate​(java.util.Calendar cal)
                          throws java.sql.SQLException

Overrides:
  `getDate` in class `FBField`
Throws:
  `java.sql.SQLException`

#### getDate

    public java.sql.Date getDate()
                          throws java.sql.SQLException

Overrides:
  `getDate` in class `FBField`
Throws:
  `java.sql.SQLException`

#### getTime

    public java.sql.Time getTime​(java.util.Calendar cal)
                          throws java.sql.SQLException

Overrides:
  `getTime` in class `FBField`
Throws:
  `java.sql.SQLException`

#### getTime

    public java.sql.Time getTime()
                          throws java.sql.SQLException

Overrides:
  `getTime` in class `FBField`
Throws:
  `java.sql.SQLException`

#### getTimestamp

    public java.sql.Timestamp getTimestamp​(java.util.Calendar cal)
                                    throws java.sql.SQLException

Overrides:
  `getTimestamp` in class `FBField`
Throws:
  `java.sql.SQLException`

#### getTimestamp

    public java.sql.Timestamp getTimestamp()
                                    throws java.sql.SQLException

Overrides:
  `getTimestamp` in class `FBField`
Throws:
  `java.sql.SQLException`

#### getBigInteger

    public java.math.BigInteger getBigInteger()
                                       throws java.sql.SQLException

Overrides:
  `getBigInteger` in class `FBField`
Throws:
  `java.sql.SQLException`

#### setByte

    public void setByte​(byte value)
                 throws java.sql.SQLException

Overrides:
  `setByte` in class `FBField`
Throws:
  `java.sql.SQLException`

#### setShort

    public void setShort​(short value)
                  throws java.sql.SQLException

Overrides:
  `setShort` in class `FBField`
Throws:
  `java.sql.SQLException`

#### setInteger

    public void setInteger​(int value)
                    throws java.sql.SQLException

Overrides:
  `setInteger` in class `FBField`
Throws:
  `java.sql.SQLException`

#### setLong

    public void setLong​(long value)
                 throws java.sql.SQLException

Overrides:
  `setLong` in class `FBField`
Throws:
  `java.sql.SQLException`

#### setFloat

    public void setFloat​(float value)
                  throws java.sql.SQLException

Overrides:
  `setFloat` in class `FBField`
Throws:
  `java.sql.SQLException`

#### setDouble

    public void setDouble​(double value)
                   throws java.sql.SQLException

Overrides:
  `setDouble` in class `FBField`
Throws:
  `java.sql.SQLException`

#### setBigDecimal

    public void setBigDecimal​(java.math.BigDecimal value)
                       throws java.sql.SQLException

Overrides:
  `setBigDecimal` in class `FBField`
Throws:
  `java.sql.SQLException`

#### setBoolean

    public void setBoolean​(boolean value)
                    throws java.sql.SQLException

Overrides:
  `setBoolean` in class `FBField`
Throws:
  `java.sql.SQLException`

#### setDate

    public void setDate​(java.sql.Date value,
                        java.util.Calendar cal)
                 throws java.sql.SQLException

Overrides:
  `setDate` in class `FBField`
Throws:
  `java.sql.SQLException`

#### setDate

    public void setDate​(java.sql.Date value)
                 throws java.sql.SQLException

Overrides:
  `setDate` in class `FBField`
Throws:
  `java.sql.SQLException`

#### setTime

    public void setTime​(java.sql.Time value,
                        java.util.Calendar cal)
                 throws java.sql.SQLException

Overrides:
  `setTime` in class `FBField`
Throws:
  `java.sql.SQLException`

#### setTime

    public void setTime​(java.sql.Time value)
                 throws java.sql.SQLException

Overrides:
  `setTime` in class `FBField`
Throws:
  `java.sql.SQLException`

#### setTimestamp

    public void setTimestamp​(java.sql.Timestamp value,
                             java.util.Calendar cal)
                      throws java.sql.SQLException

Overrides:
  `setTimestamp` in class `FBField`
Throws:
  `java.sql.SQLException`

#### setTimestamp

    public void setTimestamp​(java.sql.Timestamp value)
                      throws java.sql.SQLException

Overrides:
  `setTimestamp` in class `FBField`
Throws:
  `java.sql.SQLException`

#### setBigInteger

    public void setBigInteger​(java.math.BigInteger value)
                       throws java.sql.SQLException

Overrides:
  `setBigInteger` in class `FBField`
Throws:
  `java.sql.SQLException`