Package org.h2.store

# Interface DataHandler

All Known Implementing Classes:
  `Database`, `DirectRecover`, `Recover`, `SessionRemote`, `TestFile`, `TestValueMemory`

public interface DataHandler
A data handler contains a number of callback methods, mostly related to CLOB and BLOB handling. The most important implementing class is a database.

## Method Summary

Modifier and Type
Method
Description
`void`
`checkPowerOff()`
Check if the simulated power failure occurred.
`void`
`checkWritingAllowed()`
Check if writing is allowed.
`CompareMode`
`getCompareMode()`
Return compare mode.
`String`
`getDatabasePath()`
Get the database path.
`SmallLRUCache<String,String[]>`
`getLobFileListCache()`
Get the lob file list cache if it is used.
`LobStorageInterface`
`getLobStorage()`
Get the lob storage mechanism to use.
`Object`
`getLobSyncObject()`
Get the synchronization object for lob operations.
`int`
`getMaxLengthInplaceLob()`
Get the maximum length of in-place large object
`TempFileDeleter`
`getTempFileDeleter()`
Get the temp file deleter mechanism.
`FileStore`
`openFile(String name, String mode, boolean mustExist)`
Open a file at the given location.
`int`
`readLob(long lobId, byte[] hmac, long offset, byte[] buff, int off, int length)`
Read from a lob.

## Method Details

### getDatabasePath

String getDatabasePath()
Get the database path.

Returns:
  the database path

### openFile

FileStore openFile(String name, String mode, boolean mustExist)
Open a file at the given location.

Parameters:
  `name` - the file name
  `mode` - the mode
  `mustExist` - whether the file must already exist
Returns:
  the file

### checkPowerOff

void checkPowerOff() throws DbException
Check if the simulated power failure occurred. This call will decrement the countdown.

Throws:
  `DbException` - if the simulated power failure occurred

### checkWritingAllowed

void checkWritingAllowed() throws DbException
Check if writing is allowed.

Throws:
  `DbException` - if it is not allowed

### getMaxLengthInplaceLob

int getMaxLengthInplaceLob()
Get the maximum length of in-place large object

Returns:
  the maximum size

### getTempFileDeleter

TempFileDeleter getTempFileDeleter()
Get the temp file deleter mechanism.

Returns:
  the temp file deleter

### getLobSyncObject

Object getLobSyncObject()
Get the synchronization object for lob operations.

Returns:
  the synchronization object

### getLobFileListCache

SmallLRUCache<String,String[]> getLobFileListCache()
Get the lob file list cache if it is used.

Returns:
  the cache or null

### getLobStorage

LobStorageInterface getLobStorage()
Get the lob storage mechanism to use.

Returns:
  the lob storage mechanism

### readLob

int readLob(long lobId, byte[] hmac, long offset, byte[] buff, int off, int length)
Read from a lob.

Parameters:
  `lobId` - the lob id
  `hmac` - the message authentication code
  `offset` - the offset within the lob
  `buff` - the target buffer
  `off` - the offset within the target buffer
  `length` - the number of bytes to read
Returns:
  the number of bytes read

### getCompareMode

CompareMode getCompareMode()
Return compare mode.

Returns:
  Compare mode.