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`