java.lang.Object
org.datanucleus.store.rdbms.mapping.column.BlobImpl
All Implemented Interfaces:
Blob

public class BlobImpl extends Object implements Blob

The representation (mapping) in the Java programming language of an SQL BLOB value. An SQL BLOB is a built-in type that stores a Binary Large Object as a column value in a row of a database table. The driver implements Blob using an SQL locator(BLOB), which means that a Blob object contains a logical pointer to the SQL BLOB data rather than the data itself. A Blob object is valid for the duration of the transaction in which is was created.

Methods in the interfaces ResultSet, CallableStatement, and PreparedStatement, such as getBlob and setBlob allow a programmer to access an SQL BLOB value. The Blob interface provides methods for getting the length of an SQL BLOB (Binary Large Object) value, for materializing a BLOB value on the client, and for determining the position of a pattern of bytes within a BLOB value.

  • Field Details

    • stream

      private InputStream stream
    • length

      private int length
    • bytes

      private byte[] bytes
    • freed

      boolean freed
      Whether we have already freed resources.
  • Constructor Details

    • BlobImpl

      public BlobImpl(Object obj) throws IOException
      Constructor taking a serialised object.
      Parameters:
      obj - The serialised object.
      Throws:
      IOException - if an error occurs
    • BlobImpl

      public BlobImpl(byte[] bytes)
      Constructor taking a byte array.
      Parameters:
      bytes - The byte array
    • BlobImpl

      public BlobImpl(InputStream stream)
      Constructor taking an InputStream.
      Parameters:
      stream - The InputStream
  • Method Details