Class 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 Detail

      • 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
      • 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()