Class AbstractLargeBinaryColumnMapping

  • All Implemented Interfaces:
    ColumnMapping
    Direct Known Subclasses:
    BinaryColumnMapping, BlobColumnMapping, LongVarBinaryColumnMapping, VarBinaryColumnMapping

    public abstract class AbstractLargeBinaryColumnMapping
    extends AbstractColumnMapping
    Mapping of a large binary (e.g BLOB, LONGVARBINARY) column. A large binary column can be treated in two ways in terms of storage and retrieval.
    • Serialise the field into the large binary using ObjectOutputStream, and deserialise it back using ObjectInputStream - i.e Java serialisation
    • Store the field using a byte[] stream, and retrieve it in the same way.
    • Constructor Detail

      • AbstractLargeBinaryColumnMapping

        public AbstractLargeBinaryColumnMapping​(JavaTypeMapping mapping,
                                                RDBMSStoreManager storeMgr,
                                                Column col)
        Constructor.
        Parameters:
        mapping - Java type mapping
        storeMgr - Store Manager
        col - Column
    • Method Detail

      • initialize

        protected void initialize()
        Initialisation method, initialising the type info.
      • setObject

        public void setObject​(java.sql.PreparedStatement ps,
                              int param,
                              java.lang.Object value)
        Method to store a field into a "large varbinary" column.
        Specified by:
        setObject in interface ColumnMapping
        Overrides:
        setObject in class AbstractColumnMapping
        Parameters:
        ps - The PreparedStatement
        param - Parameter position in the statement
        value - The value to store
      • getObjectForBytes

        protected java.lang.Object getObjectForBytes​(byte[] bytes,
                                                     int param)
      • getObject

        public java.lang.Object getObject​(java.sql.ResultSet rs,
                                          int param)
        Method to retrieve the object from the large binary column.
        Specified by:
        getObject in interface ColumnMapping
        Overrides:
        getObject in class AbstractColumnMapping
        Parameters:
        rs - The ResultSet
        param - The parameter position
        Returns:
        The object
      • setString

        public void setString​(java.sql.PreparedStatement ps,
                              int exprIndex,
                              java.lang.String value)
        Cater for serialisation of Strings.
        Specified by:
        setString in interface ColumnMapping
        Overrides:
        setString in class AbstractColumnMapping
        Parameters:
        ps - PreparedStatement
        exprIndex - param indexes
        value - The value of the String
      • getString

        public java.lang.String getString​(java.sql.ResultSet resultSet,
                                          int exprIndex)
        Accessor for String value when serialised.
        Specified by:
        getString in interface ColumnMapping
        Overrides:
        getString in class AbstractColumnMapping
        Parameters:
        resultSet - ResultSet
        exprIndex - param indexes
        Returns:
        The String value