org.h2.test.unit

## Class TestFile

- java.lang.Object
- - org.h2.test.TestBase
  - - org.h2.test.unit.TestFile

All Implemented Interfaces:
  DataHandler

    public class TestFile
    extends TestBase
    implements DataHandler

Tests the in-memory file store.

### Field Summary

### Fields inherited from class org.h2.test.TestBase

`BASE_TEST_DIR, config, start, uniqueId`

### Constructor Summary

Constructors
Constructor and Description
`TestFile()`

### Method Summary

Methods
`void` `checkPowerOff()` Check if the simulated power failure occurred.
`void` `checkWritingAllowed()` Check if writing is allowed.
`CompareMode` `getCompareMode()` Return compare mode.
`java.lang.String` `getDatabasePath()` Get the database path.
`JavaObjectSerializer` `getJavaObjectSerializer()` Return the serializer to be used for java objects being stored in column of type OTHER.
`java.lang.String` `getLobCompressionAlgorithm(int type)` Get the compression algorithm used for large objects.
`SmallLRUCache<java.lang.String,java.lang.String[]>` `getLobFileListCache()` Get the lob file list cache if it is used.
`LobStorageBackend` `getLobStorage()` Get the lob storage mechanism to use.
`java.lang.Object` `getLobSyncObject()` Get the synchronization object for lob operations.
`int` `getMaxLengthInplaceLob()` Get the maximum length of a in-place large object
`TempFileDeleter` `getTempFileDeleter()` Get the temp file deleter mechanism.
`static void` `main(java.lang.String... a)` Run just this test.
`FileStore` `openFile(java.lang.String name, java.lang.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.
`void` `test()` This method will be called by the test framework.

### Methods inherited from class org.h2.test.TestBase

`assertContains, assertEqualDatabases, assertEqualReaders, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEqualStreams, assertFalse, assertFalse, assertKnownException, assertKnownException, assertNotNull, assertNotNull, assertNull, assertResult, assertResultRowCount, assertResultSetMeta, assertResultSetOrdered, assertSame, assertSingleValue, assertSmaller, assertStartsWith, assertThrows, assertThrows, assertThrows, assertThrows, assertTrue, assertTrue, crash, createCaller, createClassProxy, createFailingStream, eatMemory, execute, execute, fail, fail, freeMemory, getBaseDir, getClassPath, getFilePassword, getJVM, getMemoryUsed, getMemoryUsedBytes, getPassword, getPassword, getSize, getTestDir, getTestName, getUser, init, init, isEnabled, logError, logErrorMessage, println, printTime, printTimeMemory, readString, runTest, throwException, trace, trace, traceMemory`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### TestFile

    public TestFile()

### Method Detail

#### main

    public static void main(java.lang.String... a)
                     throws java.lang.Exception

Run just this test.

Parameters:
  `a` - ignored
Throws:
  `java.lang.Exception`

#### test

    public void test()
              throws java.lang.Exception

Description copied from class: `TestBase`
This method will be called by the test framework.

Specified by:
  `test` in class `TestBase`
Throws:
  `java.lang.Exception` - if an exception in the test occurs

#### checkPowerOff

    public void checkPowerOff()

Description copied from interface: `DataHandler`
Check if the simulated power failure occurred. This call will decrement the countdown.

Specified by:
  `checkPowerOff` in interface `DataHandler`

#### checkWritingAllowed

    public void checkWritingAllowed()

Description copied from interface: `DataHandler`
Check if writing is allowed.

Specified by:
  `checkWritingAllowed` in interface `DataHandler`

#### getDatabasePath

    public java.lang.String getDatabasePath()

Description copied from interface: `DataHandler`
Get the database path.

Specified by:
  `getDatabasePath` in interface `DataHandler`
Returns:
  the database path

#### getLobCompressionAlgorithm

    public java.lang.String getLobCompressionAlgorithm(int type)

Description copied from interface: `DataHandler`
Get the compression algorithm used for large objects.

Specified by:
  `getLobCompressionAlgorithm` in interface `DataHandler`
Parameters:
  `type` - the data type (CLOB or BLOB)
Returns:
  the compression algorithm, or null

#### getLobSyncObject

    public java.lang.Object getLobSyncObject()

Description copied from interface: `DataHandler`
Get the synchronization object for lob operations.

Specified by:
  `getLobSyncObject` in interface `DataHandler`
Returns:
  the synchronization object

#### getMaxLengthInplaceLob

    public int getMaxLengthInplaceLob()

Description copied from interface: `DataHandler`
Get the maximum length of a in-place large object

Specified by:
  `getMaxLengthInplaceLob` in interface `DataHandler`
Returns:
  the maximum size

#### openFile

    public FileStore openFile(java.lang.String name,
                     java.lang.String mode,
                     boolean mustExist)

Description copied from interface: `DataHandler`
Open a file at the given location.

Specified by:
  `openFile` in interface `DataHandler`
Parameters:
  `name` - the file name
  `mode` - the mode
  `mustExist` - whether the file must already exist
Returns:
  the file

#### getLobFileListCache

    public SmallLRUCache<java.lang.String,java.lang.String[]> getLobFileListCache()

Description copied from interface: `DataHandler`
Get the lob file list cache if it is used.

Specified by:
  `getLobFileListCache` in interface `DataHandler`
Returns:
  the cache or null

#### getTempFileDeleter

    public TempFileDeleter getTempFileDeleter()

Description copied from interface: `DataHandler`
Get the temp file deleter mechanism.

Specified by:
  `getTempFileDeleter` in interface `DataHandler`
Returns:
  the temp file deleter

#### getLobStorage

    public LobStorageBackend getLobStorage()

Description copied from interface: `DataHandler`
Get the lob storage mechanism to use.

Specified by:
  `getLobStorage` in interface `DataHandler`
Returns:
  the lob storage mechanism

#### readLob

    public int readLob(long lobId,
              byte[] hmac,
              long offset,
              byte[] buff,
              int off,
              int length)

Description copied from interface: `DataHandler`
Read from a lob.

Specified by:
  `readLob` in interface `DataHandler`
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

#### getJavaObjectSerializer

    public JavaObjectSerializer getJavaObjectSerializer()

Description copied from interface: `DataHandler`
Return the serializer to be used for java objects being stored in column of type OTHER.

Specified by:
  `getJavaObjectSerializer` in interface `DataHandler`
Returns:
  the serializer to be used for java objects being stored in column of type OTHER

#### getCompareMode

    public CompareMode getCompareMode()

Description copied from interface: `DataHandler`
Return compare mode.

Specified by:
  `getCompareMode` in interface `DataHandler`
Returns:
  Compare mode.