Module org.firebirdsql.jaybird
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
  Modifier and Type
  Field
  Description
  `protected final int`
  `possibleCharLength`

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

  `fieldDescriptor, gdsHelper, requiredType`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `close()`
  Close this field.
  `void`
  `flushCachedData()`
  Flush cached data to the database server.
  `BigDecimal`
  `getBigDecimal()`
  `BigInteger`
  `getBigInteger()`
  `InputStream`
  `getBinaryStream()`
  `Blob`
  `getBlob()`
  `protected FirebirdBlob`
  `getBlobInternal()`
  `boolean`
  `getBoolean()`
  `byte`
  `getByte()`
  `byte[]`
  `getBytes()`
  `byte[]`
  `getCachedData()`
  Get cached data.
  `@NonNull FBFlushableField.CachedObject`
  `getCachedObject()`
  `Clob`
  `getClob()`
  `double`
  `getDouble()`
  `float`
  `getFloat()`
  `int`
  `getInt()`
  `long`
  `getLong()`
  `Object`
  `getObject()`
  `short`
  `getShort()`
  `String`
  `getString()`
  `Timestamp`
  `getTimestamp()`
  `final boolean`
  `isTrimTrailing()`
  `void`
  `setBigDecimal(BigDecimal value)`
  `void`
  `setBigInteger(BigInteger value)`
  `protected void`
  `setBinaryStreamInternal(InputStream in, long length)`
  `void`
  `setBlob(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(@NonNull FBFlushableField.CachedObject cachedObject)`
  `protected void`
  `setCharacterStreamInternal(Reader in, long length)`
  `void`
  `setClob(Clob clob)`
  `void`
  `setClob(FBClob clob)`
  `void`
  `setDouble(double value)`
  `void`
  `setFloat(float value)`
  `void`
  `setInteger(int value)`
  `void`
  `setLong(long value)`
  `void`
  `setNull()`
  `void`
  `setShort(short value)`
  `void`
  `setString(String value)`
  `void`
  `setTimestamp(Timestamp value)`
  `void`
  `setTimestamp(Timestamp value, Calendar cal)`
  `final 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, getDate, getDate, getDecimal, getDecimal, getFieldData, getName, getObject, getObject, getRef, getRelationName, getRowId, getTime, getTime, getTimestamp, isNull, setBinaryStream, setBinaryStream, setBinaryStream, setCharacterStream, setCharacterStream, setCharacterStream, setConnection, setDate, setDate, setDecimal, setFieldData, setObject, setObject, setRequiredType, setRowId, setTime, setTime`

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

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

- ## Field Details

  - ### possibleCharLength

    protected final int possibleCharLength

- ## Method Details

  - ### setBlobListener

    @NullMarked 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 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:
      `SQLException` - if field cannot be closed.

  - ### getBlob

    public Blob getBlob() throws SQLException
    Overrides:
      `getBlob` in class `FBField`
    Throws:
      `SQLException`

  - ### getBlobInternal

    protected FirebirdBlob getBlobInternal()

  - ### getClob

    public Clob getClob() throws SQLException
    Overrides:
      `getClob` in class `FBField`
    Throws:
      `SQLException`

  - ### getBinaryStream

    public InputStream getBinaryStream() throws SQLException
    Throws:
      `SQLException`

  - ### getBytes

    public byte[] getBytes() throws SQLException
    Throws:
      `SQLException`

  - ### getCachedData

    public byte[] getCachedData() throws SQLException
    Description copied from interface: `FBFlushableField`
    Get cached data.
    Specified by:
      `getCachedData` in interface `FBFlushableField`
    Returns:
      cached object of this field.
    Throws:
      `SQLException` - if something went wrong.

  - ### getCachedObject

    public @NonNull FBFlushableField.CachedObject getCachedObject() throws SQLException
    Specified by:
      `getCachedObject` in interface `FBFlushableField`
    Throws:
      `SQLException`

  - ### setCachedObject

    public void setCachedObject(@NonNull FBFlushableField.CachedObject cachedObject)
    Specified by:
      `setCachedObject` in interface `FBFlushableField`

  - ### getString

    public String getString() throws SQLException
    Throws:
      `SQLException`

  - ### setBlob

    public void setBlob(FBBlob blob) throws SQLException
    Overrides:
      `setBlob` in class `FBField`
    Throws:
      `SQLException`

  - ### setBlob

    public void setBlob(Blob blob) throws SQLException
    Overrides:
      `setBlob` in class `FBField`
    Throws:
      `SQLException`

  - ### setClob

    public void setClob(FBClob clob) throws SQLException
    Overrides:
      `setClob` in class `FBField`
    Throws:
      `SQLException`

  - ### setClob

    public void setClob(Clob clob) throws SQLException
    Overrides:
      `setClob` in class `FBField`
    Throws:
      `SQLException`

  - ### setCharacterStreamInternal

    protected void setCharacterStreamInternal(Reader in, long length)

  - ### setString

    public void setString(String value) throws SQLException
    Throws:
      `SQLException`

  - ### setBytes

    public void setBytes(byte[] value) throws SQLException
    Throws:
      `SQLException`

  - ### setBinaryStreamInternal

    protected void setBinaryStreamInternal(InputStream in, long length)

  - ### flushCachedData

    public void flushCachedData() throws SQLException
    Description copied from interface: `FBFlushableField`
    Flush cached data to the database server.
    Specified by:
      `flushCachedData` in interface `FBFlushableField`
    Throws:
      `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 Object getObject() throws SQLException
    Overrides:
      `getObject` in class `FBField`
    Throws:
      `SQLException`

  - ### getByte

    public byte getByte() throws SQLException
    Overrides:
      `getByte` in class `FBField`
    Throws:
      `SQLException`

  - ### getShort

    public short getShort() throws SQLException
    Overrides:
      `getShort` in class `FBField`
    Throws:
      `SQLException`

  - ### getInt

    public int getInt() throws SQLException
    Overrides:
      `getInt` in class `FBField`
    Throws:
      `SQLException`

  - ### getLong

    public long getLong() throws SQLException
    Overrides:
      `getLong` in class `FBField`
    Throws:
      `SQLException`

  - ### getBigDecimal

    public BigDecimal getBigDecimal() throws SQLException
    Overrides:
      `getBigDecimal` in class `FBField`
    Throws:
      `SQLException`

  - ### getFloat

    public float getFloat() throws SQLException
    Overrides:
      `getFloat` in class `FBField`
    Throws:
      `SQLException`

  - ### getDouble

    public double getDouble() throws SQLException
    Overrides:
      `getDouble` in class `FBField`
    Throws:
      `SQLException`

  - ### getBoolean

    public boolean getBoolean() throws SQLException
    Overrides:
      `getBoolean` in class `FBField`
    Throws:
      `SQLException`

  - ### getTimestamp

    public Timestamp getTimestamp() throws SQLException
    Overrides:
      `getTimestamp` in class `FBField`
    Throws:
      `SQLException`

  - ### getBigInteger

    public BigInteger getBigInteger() throws SQLException
    Overrides:
      `getBigInteger` in class `FBField`
    Throws:
      `SQLException`

  - ### setByte

    public void setByte(byte value) throws SQLException
    Overrides:
      `setByte` in class `FBField`
    Throws:
      `SQLException`

  - ### setShort

    public void setShort(short value) throws SQLException
    Overrides:
      `setShort` in class `FBField`
    Throws:
      `SQLException`

  - ### setInteger

    public void setInteger(int value) throws SQLException
    Overrides:
      `setInteger` in class `FBField`
    Throws:
      `SQLException`

  - ### setLong

    public void setLong(long value) throws SQLException
    Overrides:
      `setLong` in class `FBField`
    Throws:
      `SQLException`

  - ### setFloat

    public void setFloat(float value) throws SQLException
    Overrides:
      `setFloat` in class `FBField`
    Throws:
      `SQLException`

  - ### setDouble

    public void setDouble(double value) throws SQLException
    Overrides:
      `setDouble` in class `FBField`
    Throws:
      `SQLException`

  - ### setBigDecimal

    public void setBigDecimal(BigDecimal value) throws SQLException
    Overrides:
      `setBigDecimal` in class `FBField`
    Throws:
      `SQLException`

  - ### setBoolean

    public void setBoolean(boolean value) throws SQLException
    Overrides:
      `setBoolean` in class `FBField`
    Throws:
      `SQLException`

  - ### setTimestamp

    public void setTimestamp(Timestamp value, Calendar cal) throws SQLException
    Overrides:
      `setTimestamp` in class `FBField`
    Throws:
      `SQLException`

  - ### setTimestamp

    public void setTimestamp(Timestamp value) throws SQLException
    Overrides:
      `setTimestamp` in class `FBField`
    Throws:
      `SQLException`

  - ### setBigInteger

    public void setBigInteger(BigInteger value) throws SQLException
    Overrides:
      `setBigInteger` in class `FBField`
    Throws:
      `SQLException`