org.h2.test.utils
Class FilePathReorderWrites

java.lang.Object
  extended by org.h2.store.fs.FilePath
      extended by org.h2.store.fs.FilePathWrapper
          extended by org.h2.test.utils.FilePathReorderWrites

public class FilePathReorderWrites
extends FilePathWrapper

An unstable file system. It is used to simulate file system problems (for example out of disk space).


Field Summary
 
Fields inherited from class org.h2.store.fs.FilePath
name
 
Constructor Summary
FilePathReorderWrites()
           
 
Method Summary
 long getMaxAge()
           
 int getPowerOffCountdown()
           
 java.lang.String getScheme()
          Get the scheme (prefix) for this file provider.
 java.nio.channels.FileChannel open(java.lang.String mode)
          Open a random access file object.
static FilePathReorderWrites register()
          Register the file system.
 void setPartialWrites(boolean partialWrites)
          Whether partial writes are possible (writing only part of the data).
 void setPowerOffCountdown(int count, int seed)
          Set the number of write operations before a simulated power failure, and the random seed (for partial writes).
 
Methods inherited from class org.h2.store.fs.FilePathWrapper
canWrite, createDirectory, createFile, createTempFile, delete, exists, getBase, getParent, getPath, getPrefix, isAbsolute, isDirectory, lastModified, moveTo, newDirectoryStream, newInputStream, newOutputStream, setReadOnly, size, toRealPath, unwrap, unwrap, wrap
 
Methods inherited from class org.h2.store.fs.FilePath
get, getName, getNextTempFileNamePart, register, toString, unregister
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

FilePathReorderWrites

public FilePathReorderWrites()
Method Detail

register

public static FilePathReorderWrites register()
Register the file system.

Returns:
the instance

setPowerOffCountdown

public void setPowerOffCountdown(int count,
                                 int seed)
Set the number of write operations before a simulated power failure, and the random seed (for partial writes).

Parameters:
count - the number of write operations (0 to never fail, Integer.MAX_VALUE to count the operations)
seed - the new seed

getPowerOffCountdown

public int getPowerOffCountdown()

setPartialWrites

public void setPartialWrites(boolean partialWrites)
Whether partial writes are possible (writing only part of the data).

Parameters:
partialWrites - true to enable

open

public java.nio.channels.FileChannel open(java.lang.String mode)
                                   throws java.io.IOException
Description copied from class: FilePath
Open a random access file object.

Overrides:
open in class FilePathWrapper
Parameters:
mode - the access mode. Supported are r, rw, rws, rwd
Returns:
the file object
Throws:
java.io.IOException

getScheme

public java.lang.String getScheme()
Description copied from class: FilePath
Get the scheme (prefix) for this file provider. This is similar to java.nio.file.spi.FileSystemProvider.getScheme.

Specified by:
getScheme in class FilePath
Returns:
the scheme

getMaxAge

public long getMaxAge()