org.firebirdsql.jdbc.field

## Class FBField

- java.lang.Object
- - org.firebirdsql.jdbc.field.FBField

- Direct Known Subclasses:
    FBLongVarCharField

      public abstract class FBField
      extends java.lang.Object

  Base class for fields (for use by prepared statement and result set to represent columns and parameters).
  Author:
    Roman Rokytskyy, Mark Rotteveel

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected FieldDescriptor` | `fieldDescriptor`
    `protected GDSHelper` | `gdsHelper`
    `protected int` | `requiredType`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `static FBField` | `createField(FieldDescriptor fieldDescriptor, FieldDataProvider dataProvider, GDSHelper gdsHelper, boolean cached)` This is a factory method that creates appropriate instance of the `FBField` class according to the SQL datatype.
    `java.lang.String` | `getAlias()` Returns the alias of the column as declared in XSQLVAR.
    `java.sql.Array` | `getArray()`
    `java.math.BigDecimal` | `getBigDecimal()`
    `java.math.BigDecimal` | `getBigDecimal(int scale)`
    `java.math.BigInteger` | `getBigInteger()`
    `java.io.InputStream` | `getBinaryStream()`
    `java.sql.Blob` | `getBlob()`
    `boolean` | `getBoolean()`
    `byte` | `getByte()`
    `byte[]` | `getBytes()`
    `java.io.Reader` | `getCharacterStream()`
    `java.sql.Clob` | `getClob()`
    `protected DatatypeCoder` | `getDatatypeCoder()`
    `java.sql.Date` | `getDate()`
    `java.sql.Date` | `getDate(java.util.Calendar cal)`
    `Decimal<?>` | `getDecimal()` Returns the value as a Decimal type.
    `<D extends Decimal<D>> D` | `getDecimal(java.lang.Class<D> targetType)`
    `double` | `getDouble()`
    `protected byte[]` | `getFieldData()`
    `float` | `getFloat()`
    `int` | `getInt()`
    `long` | `getLong()`
    `java.lang.String` | `getName()` Returns the name of the column as declared in the XSQLVAR.
    `java.lang.Object` | `getObject()`
    `<T> T` | `getObject(java.lang.Class<T> type)`
    `java.lang.Object` | `getObject(java.util.Map<java.lang.String,java.lang.Class<?>> map)`
    `DatatypeCoder.RawDateTimeStruct` | `getRawDateTimeStruct()` Deprecated. use `getLocalDate()`, `getLocalTime()`, `getLocalDateTime()`; will be removed in Jaybird 6
    `java.sql.Ref` | `getRef()`
    `java.lang.String` | `getRelationName()` Returns the relation to which belongs column as declared in XSQLVAR.
    `java.sql.RowId` | `getRowId()`
    `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)`
    `protected boolean` | `isInvertTimeZone()`
    `boolean` | `isNull()`
    `void` | `setBigDecimal(java.math.BigDecimal value)`
    `void` | `setBigInteger(java.math.BigInteger value)`
    `void` | `setBinaryStream(java.io.InputStream in)`
    `void` | `setBinaryStream(java.io.InputStream in, int length)`
    `void` | `setBinaryStream(java.io.InputStream in, long length)`
    `protected void` | `setBinaryStreamInternal(java.io.InputStream in, long length)`
    `void` | `setBlob(java.sql.Blob blob)`
    `void` | `setBlob(FBBlob blob)`
    `void` | `setBoolean(boolean value)`
    `void` | `setByte(byte value)`
    `void` | `setBytes(byte[] value)`
    `void` | `setCharacterStream(java.io.Reader in)`
    `void` | `setCharacterStream(java.io.Reader in, int length)`
    `void` | `setCharacterStream(java.io.Reader in, long length)`
    `protected void` | `setCharacterStreamInternal(java.io.Reader in, long length)`
    `void` | `setClob(java.sql.Clob clob)`
    `void` | `setClob(FBClob clob)`
    `void` | `setConnection(GDSHelper gdsHelper)`
    `void` | `setDate(java.sql.Date value)`
    `void` | `setDate(java.sql.Date value, java.util.Calendar cal)`
    `void` | `setDecimal(Decimal<?> decimal)` Sets the value as a Decimal type.
    `void` | `setDouble(double value)`
    `protected void` | `setFieldData(byte[] data)`
    `void` | `setFloat(float value)`
    `void` | `setInteger(int value)`
    `void` | `setLong(long value)`
    `void` | `setNull()`
    `void` | `setObject(java.lang.Object value)`
    `void` | `setRawDateTimeStruct(DatatypeCoder.RawDateTimeStruct raw)` Deprecated. use `setLocalDate(LocalDate)`, `setLocalTime(LocalTime)`, `setLocalDateTime(LocalDateTime)`; will be removed in Jaybird 6
    `void` | `setRequiredType(int requiredType)` Set the required type for `getObject()` conversion.
    `void` | `setRowId(java.sql.RowId rowId)`
    `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)`

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

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

- - ### Field Detail

    - #### fieldDescriptor

          protected final FieldDescriptor fieldDescriptor

    - #### gdsHelper

          protected GDSHelper gdsHelper

    - #### requiredType

          protected int requiredType

  - ### Method Detail

    - #### getFieldData

          protected final byte[] getFieldData()

    - #### setFieldData

          protected final void setFieldData(byte[] data)

    - #### getDatatypeCoder

          protected final DatatypeCoder getDatatypeCoder()

    - #### isNull

          public final boolean isNull()
                               throws java.sql.SQLException

      Returns:
        `true` if the corresponding field is `null`, otherwise `false`
      Throws:
        `java.sql.SQLException`

    - #### setNull

          public void setNull()

    - #### setConnection

          public void setConnection(GDSHelper gdsHelper)

    - #### setRequiredType

          public void setRequiredType(int requiredType)

      Set the required type for `getObject()` conversion.
      Parameters:
        `requiredType` - required type, one of the `Types` constants.

    - #### createField

          public static FBField createField(FieldDescriptor fieldDescriptor,
                                            FieldDataProvider dataProvider,
                                            GDSHelper gdsHelper,
                                            boolean cached)
                                     throws java.sql.SQLException

      This is a factory method that creates appropriate instance of the `FBField` class according to the SQL datatype. This instance knows how to perform all necessary type conversions.
      Throws:
        `java.sql.SQLException`

    - #### getName

          public java.lang.String getName()

      Returns the name of the column as declared in the XSQLVAR.

    - #### getAlias

          public java.lang.String getAlias()

      Returns the alias of the column as declared in XSQLVAR.

    - #### getRelationName

          public java.lang.String getRelationName()

      Returns the relation to which belongs column as declared in XSQLVAR.

    - #### getByte

          public byte getByte()
                       throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### getShort

          public short getShort()
                         throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### getInt

          public int getInt()
                     throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### getLong

          public long getLong()
                       throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### getFloat

          public float getFloat()
                         throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### getDouble

          public double getDouble()
                           throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### getBigDecimal

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

      Throws:
        `java.sql.SQLException`

    - #### getBigDecimal

          public final java.math.BigDecimal getBigDecimal(int scale)
                                                   throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### getBoolean

          public boolean getBoolean()
                             throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### getString

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

      Throws:
        `java.sql.SQLException`

    - #### getObject

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

      Throws:
        `java.sql.SQLException`

    - #### getObject

          public java.lang.Object getObject(java.util.Map<java.lang.String,java.lang.Class<?>> map)
                                     throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### getObject

          public <T> T getObject(java.lang.Class<T> type)
                          throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### getBinaryStream

          public java.io.InputStream getBinaryStream()
                                              throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### getCharacterStream

          public java.io.Reader getCharacterStream()
                                            throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### getBytes

          public byte[] getBytes()
                          throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### getBlob

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

      Throws:
        `java.sql.SQLException`

    - #### getDate

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

      Throws:
        `java.sql.SQLException`

    - #### getDate

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

      Throws:
        `java.sql.SQLException`

    - #### getTime

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

      Throws:
        `java.sql.SQLException`

    - #### getTime

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

      Throws:
        `java.sql.SQLException`

    - #### getTimestamp

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

      Throws:
        `java.sql.SQLException`

    - #### getTimestamp

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

      Throws:
        `java.sql.SQLException`

    - #### getRef

          public java.sql.Ref getRef()
                              throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### getClob

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

      Throws:
        `java.sql.SQLException`

    - #### getArray

          public java.sql.Array getArray()
                                  throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### getBigInteger

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

      Throws:
        `java.sql.SQLException`

    - #### getRowId

          public java.sql.RowId getRowId()
                                  throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### setByte

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

      Throws:
        `java.sql.SQLException`

    - #### setShort

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

      Throws:
        `java.sql.SQLException`

    - #### setInteger

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

      Throws:
        `java.sql.SQLException`

    - #### setLong

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

      Throws:
        `java.sql.SQLException`

    - #### setFloat

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

      Throws:
        `java.sql.SQLException`

    - #### setDouble

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

      Throws:
        `java.sql.SQLException`

    - #### setBigDecimal

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

      Throws:
        `java.sql.SQLException`

    - #### setBoolean

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

      Throws:
        `java.sql.SQLException`

    - #### setString

          public void setString(java.lang.String value)
                         throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### setBigInteger

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

      Throws:
        `java.sql.SQLException`

    - #### setObject

          public void setObject(java.lang.Object value)
                         throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### setBinaryStreamInternal

          protected void setBinaryStreamInternal(java.io.InputStream in,
                                                 long length)
                                          throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### setBinaryStream

          public final void setBinaryStream(java.io.InputStream in,
                                            long length)
                                     throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### setBinaryStream

          public final void setBinaryStream(java.io.InputStream in)
                                     throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### setBinaryStream

          public final void setBinaryStream(java.io.InputStream in,
                                            int length)
                                     throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### setCharacterStreamInternal

          protected void setCharacterStreamInternal(java.io.Reader in,
                                                    long length)
                                             throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### setCharacterStream

          public final void setCharacterStream(java.io.Reader in,
                                               long length)
                                        throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### setCharacterStream

          public final void setCharacterStream(java.io.Reader in)
                                        throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### setCharacterStream

          public final void setCharacterStream(java.io.Reader in,
                                               int length)
                                        throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### setBytes

          public void setBytes(byte[] value)
                        throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### setDate

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

      Throws:
        `java.sql.SQLException`

    - #### setDate

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

      Throws:
        `java.sql.SQLException`

    - #### setTime

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

      Throws:
        `java.sql.SQLException`

    - #### setTime

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

      Throws:
        `java.sql.SQLException`

    - #### setTimestamp

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

      Throws:
        `java.sql.SQLException`

    - #### setTimestamp

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

      Throws:
        `java.sql.SQLException`

    - #### setBlob

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

      Throws:
        `java.sql.SQLException`

    - #### setBlob

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

      Throws:
        `java.sql.SQLException`

    - #### setClob

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

      Throws:
        `java.sql.SQLException`

    - #### setClob

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

      Throws:
        `java.sql.SQLException`

    - #### setRowId

          public void setRowId(java.sql.RowId rowId)
                        throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### getRawDateTimeStruct

          @Deprecated
          public DatatypeCoder.RawDateTimeStruct getRawDateTimeStruct()
                                                                            throws java.sql.SQLException

      Deprecated. use `getLocalDate()`, `getLocalTime()`, `getLocalDateTime()`; will be removed in Jaybird 6
      Throws:
        `java.sql.SQLException`

    - #### setRawDateTimeStruct

          @Deprecated
          public void setRawDateTimeStruct(DatatypeCoder.RawDateTimeStruct raw)
                                                 throws java.sql.SQLException

      Deprecated. use `setLocalDate(LocalDate)`, `setLocalTime(LocalTime)`, `setLocalDateTime(LocalDateTime)`; will be removed in Jaybird 6
      Throws:
        `java.sql.SQLException`

    - #### getDecimal

          public Decimal<?> getDecimal()
                                throws java.sql.SQLException

      Returns the value as a Decimal type.

      The default for this method is implemented in terms of `getBigDecimal()`, and returning a `Decimal128`. Implementations may return a `Decimal64` (or even `Decimal32`).

      Returns:
        The value as decimal
      Throws:
        `java.sql.SQLException` - For database access errors, or values that cannot be converted.

    - #### getDecimal

          public final <D extends Decimal<D>> D getDecimal(java.lang.Class<D> targetType)
                                                    throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### setDecimal

          public void setDecimal(Decimal<?> decimal)
                          throws java.sql.SQLException

      Sets the value as a Decimal type.

      The default for this method is implemented in terms of `setBigDecimal(BigDecimal)`.

      Parameters:
        `decimal` - Value to set
      Throws:
        `java.sql.SQLException`

    - #### isInvertTimeZone

          protected boolean isInvertTimeZone()

Copyright © 2001-2025 Jaybird (Firebird JDBC) team. All rights reserved.