## 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 system.

Field Summary

Fields inherited from class org.h2.test.TestBase
`BASE_TEST_DIR, config, start, TEMP_DIR, uniqueId`

Constructor Summary
`TestFile()`

Method Summary
`void` `checkPowerOff()` Check if the simulated power failure occurred.
`void` `checkWritingAllowed()` Check if writing is allowed.
`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, assertEqualStreams, assertFalse, assertFalse, assertKnownException, assertKnownException, assertNull, assertResult, assertResultRowCount, assertResultSetMeta, assertResultSetOrdered, assertSingleValue, assertSmaller, assertStartsWith, assertThrows, assertThrows, assertThrows, assertTrue, assertTrue, crash, createCaller, createClassProxy, deleteDb, deleteDb, eatMemory, fail, fail, freeMemory, getBaseDir, getClassPath, getConnection, getConnection, getFilePassword, getMemoryUsed, getMemoryUsedBytes, getPassword, getPassword, getSize, getTestDir, getURL, getUser, init, init, logError, println, printTime, printTimeMemory, readString, runTest, startServerIfRequired, testCase, 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
    `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