Class FilePathNioMem

java.lang.Object
org.h2.store.fs.FilePath
org.h2.store.fs.niomem.FilePathNioMem
Direct Known Subclasses:
FilePathNioMemLZF

public class FilePathNioMem extends FilePath
This file system keeps files fully in off-java-heap memory. There is an option to compress file blocks to save memory.
  • Field Details

    • MEMORY_FILES

      private static final TreeMap<String,FileNioMemData> MEMORY_FILES
    • compressLaterCachePercent

      float compressLaterCachePercent
      The percentage of uncompressed (cached) entries.
  • Constructor Details

    • FilePathNioMem

      public FilePathNioMem()
  • Method Details

    • getPath

      public FilePathNioMem getPath(String path)
      Description copied from class: FilePath
      Convert a file to a path. This is similar to java.nio.file.spi.FileSystemProvider.getPath, but may return an object even if the scheme doesn't match in case of the default file provider.
      Specified by:
      getPath in class FilePath
      Parameters:
      path - the path
      Returns:
      the file path object
    • size

      public long size()
      Description copied from class: FilePath
      Get the size of a file in bytes
      Specified by:
      size in class FilePath
      Returns:
      the size in bytes
    • moveTo

      public void moveTo(FilePath newName, boolean atomicReplace)
      Description copied from class: FilePath
      Rename a file if this is allowed.
      Specified by:
      moveTo in class FilePath
      Parameters:
      newName - the new fully qualified file name
      atomicReplace - whether the move should be atomic, and the target file should be replaced if it exists and replacing is possible
    • createFile

      public boolean createFile()
      Description copied from class: FilePath
      Create a new file.
      Specified by:
      createFile in class FilePath
      Returns:
      true if creating was successful
    • exists

      public boolean exists()
      Description copied from class: FilePath
      Checks if a file exists.
      Specified by:
      exists in class FilePath
      Returns:
      true if it exists
    • delete

      public void delete()
      Description copied from class: FilePath
      Delete a file or directory if it exists. Directories may only be deleted if they are empty.
      Specified by:
      delete in class FilePath
    • newDirectoryStream

      public List<FilePath> newDirectoryStream()
      Description copied from class: FilePath
      List the files and directories in the given directory.
      Specified by:
      newDirectoryStream in class FilePath
      Returns:
      the list of fully qualified file names
    • setReadOnly

      public boolean setReadOnly()
      Description copied from class: FilePath
      Disable the ability to write.
      Specified by:
      setReadOnly in class FilePath
      Returns:
      true if the call was successful
    • canWrite

      public boolean canWrite()
      Description copied from class: FilePath
      Check if the file is writable.
      Specified by:
      canWrite in class FilePath
      Returns:
      if the file is writable
    • getParent

      public FilePathNioMem getParent()
      Description copied from class: FilePath
      Get the parent directory of a file or directory.
      Specified by:
      getParent in class FilePath
      Returns:
      the parent directory name
    • isDirectory

      public boolean isDirectory()
      Description copied from class: FilePath
      Check if it is a file or a directory.
      Specified by:
      isDirectory in class FilePath
      Returns:
      true if it is a directory
    • isAbsolute

      public boolean isAbsolute()
      Description copied from class: FilePath
      Check if the file name includes a path.
      Specified by:
      isAbsolute in class FilePath
      Returns:
      if the file name is absolute
    • toRealPath

      public FilePathNioMem toRealPath()
      Description copied from class: FilePath
      Normalize a file name.
      Specified by:
      toRealPath in class FilePath
      Returns:
      the normalized file name
    • lastModified

      public long lastModified()
      Description copied from class: FilePath
      Get the last modified date of a file
      Specified by:
      lastModified in class FilePath
      Returns:
      the last modified date
    • createDirectory

      public void createDirectory()
      Description copied from class: FilePath
      Create a directory (all required parent directories already exist).
      Specified by:
      createDirectory in class FilePath
    • open

      public FileChannel open(String mode)
      Description copied from class: FilePath
      Open a random access file object.
      Specified by:
      open in class FilePath
      Parameters:
      mode - the access mode. Supported are r, rw, rws, rwd
      Returns:
      the file object
    • getMemoryFile

      private FileNioMemData getMemoryFile()
    • isRoot

      protected boolean isRoot()
    • getCanonicalPath

      protected static String getCanonicalPath(String fileName)
      Get the canonical path of a file (with backslashes replaced with forward slashes).
      Parameters:
      fileName - the file name
      Returns:
      the canonical path
    • getScheme

      public 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
    • compressed

      boolean compressed()
      Whether the file should be compressed.
      Returns:
      true if it should be compressed.