Class AbstractLargeBinaryColumnMapping

java.lang.Object
org.datanucleus.store.rdbms.mapping.column.AbstractColumnMapping
org.datanucleus.store.rdbms.mapping.column.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 Details

    • AbstractLargeBinaryColumnMapping

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

    • initialize

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

      public void setObject(PreparedStatement ps, int param, 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 Object getObjectForBytes(byte[] bytes, int param)
    • getObject

      public Object getObject(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(PreparedStatement ps, int exprIndex, 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 String getString(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