Interface IFileDatabase

All Known Implementing Classes:
JDB2Manager, ProjectFileStore

public interface IFileDatabase
Database of binary blobs. Each entry is identified by a unique key. Two main implementations exist:
- in-memory blogs
- JDB2 file (on-disk) backed database
  • Method Details

    • hasFile

      boolean hasFile(String key)
      Determine if the database contains the given file (the file must exist).
      Parameters:
      key - file key
      Returns:
      presence indicator
    • saveFile

      boolean saveFile(String key, byte[] data)
      Store the contents of a file.
      Parameters:
      key - file key
      data - file data
      Returns:
      success indicator
    • loadFile

      byte[] loadFile(String key)
      Retrieve the contents of a file.
      Parameters:
      key - file key
      Returns:
      file data, null on error
    • deleteFile

      boolean deleteFile(String key)
      Delete a file.
      Parameters:
      key - file key
      Returns:
      success indicator
    • getFileObject

      File getFileObject(String key)
      Attempt to get the filesystem object backing this db file entry.

      This method may not be implemented (e.g. if this database is not backed by on-disk files), in which case the implementation may throw an UnsupportedOperationException.

      Parameters:
      key -
      Returns:
    • getFileWriter

      OutputStream getFileWriter(String key) throws IOException
      Get an output stream reader for low-level writing to a file. The client is responsible for closing the stream after usage.

      This method may not be implemented, in which case the implementation may throw an UnsupportedOperationException.

      Parameters:
      key -
      Returns:
      Throws:
      IOException
    • getFileReader

      InputStream getFileReader(String key) throws IOException
      Get an input stream reader for low-level reading from a file. The client is responsible for closing the stream after usage.

      This method may not be implemented, in which case the implementation may throw an UnsupportedOperationException.

      Parameters:
      key -
      Returns:
      Throws:
      IOException
    • getDatabaseWriter

      IFileDatabaseWriter getDatabaseWriter(String key) throws IOException
      Get a database record writer.

      This method may not be implemented, in which case the implementation may throw an UnsupportedOperationException.

      Parameters:
      key -
      Returns:
      Throws:
      IOException
    • getDatabaseReader

      IFileDatabaseReader getDatabaseReader(String key) throws IOException
      Get a database record reader.

      This method may not be implemented, in which case the implementation may throw an UnsupportedOperationException.

      Parameters:
      key -
      Returns:
      Throws:
      IOException