## org.h2.store
Interface LobStorageInterface

All Known Implementing Classes:
  LobStorageBackend, LobStorageFrontend

    public interface LobStorageInterface

A mechanism to store and retrieve lob data.

Method Summary
`ValueLobDb` `copyLob(int type, long oldLobId, int tableId, long length)` Copy a lob.
`Value` `createBlob(java.io.InputStream in, long maxLength)` Create a BLOB object.
`Value` `createClob(java.io.Reader reader, long maxLength)` Create a CLOB object.
`java.io.InputStream` `getInputStream(long lobId, byte[] hmac, long byteCount)` Get the input stream for the given lob.
`void` `removeLob(long lob)` Delete a LOB from the database.
`void` `setTable(long lobId, int table)` Set the table reference of this lob.

Method Detail

### createClob

    Value createClob(java.io.Reader reader,
                     long maxLength)

  Create a CLOB object.

  Parameters:
    `reader` - the reader
    `maxLength` - the maximum length (-1 if not known)
  Returns:
    the LOB

### createBlob

    Value createBlob(java.io.InputStream in,
                     long maxLength)

  Create a BLOB object.

  Parameters:
    `in` - the input stream
    `maxLength` - the maximum length (-1 if not known)
  Returns:
    the LOB

### copyLob

    ValueLobDb copyLob(int type,
                       long oldLobId,
                       int tableId,
                       long length)

  Copy a lob.

  Parameters:
    `type` - the type
    `oldLobId` - the old lob id
    `tableId` - the new table id
    `length` - the length
  Returns:
    the new lob

### getInputStream

    java.io.InputStream getInputStream(long lobId,
                                       byte[] hmac,
                                       long byteCount)
                                       throws java.io.IOException

  Get the input stream for the given lob.

  Parameters:
    `lobId` - the lob id
    `hmac` - the message authentication code (for remote input streams)
    `byteCount` - the number of bytes to read, or -1 if not known
  Returns:
    the stream
  Throws:
    `java.io.IOException`

### setTable

    void setTable(long lobId,
                  int table)

  Set the table reference of this lob.

  Parameters:
    `lobId` - the lob
    `table` - the table

### removeLob

    void removeLob(long lob)

  Delete a LOB from the database.

  Parameters:
    `lob` - the lob id