Class DataStoreEntry

java.lang.Object
org.apache.derby.impl.io.vfmem.DataStoreEntry

public class DataStoreEntry extends Object
A data store entry representing either a file or a directory.

If the entry is a directory, it doesn't create a data object.

  • Field Details

    • path

      private final String path
      The path of this entry.
    • isDir

      private final boolean isDir
      Tells if this entry is a directory or a regular file.
    • isReadOnly

      private boolean isReadOnly
      Tells if this entry is read-only or not.
    • src

      private final BlockedByteArray src
      The data of the entry.
    • released

      private volatile boolean released
      Tells if the entry has been released or not.
  • Constructor Details

    • DataStoreEntry

      public DataStoreEntry(String path, boolean isDir)
      Creates a new data store entry.
      Parameters:
      path - the path of the entry
      isDir - whether the entry is a directory or a regular file
  • Method Details

    • isDirectory

      public boolean isDirectory()
      Tells if this entry is a directory.
      Returns:
      true if directory, false otherwise.
    • getInputStream

      Returns an input stream to read from this entry.
      Returns:
      An InputStream-object.
      Throws:
      FileNotFoundException - if this entry is a directory
    • getOutputStream

      BlockedByteArrayOutputStream getOutputStream(boolean append) throws FileNotFoundException
      Returns an output stream to write into this entry.
      Parameters:
      append - tells whether the entry should be appended or not
      Returns:
      An OutputStream-object.
      Throws:
      FileNotFoundException - if this entry is a directory, or is read-only
    • length

      public long length()
      Returns the length of this entry.
      Returns:
      The length in bytes.
    • setReadOnly

      public void setReadOnly()
      Makes this entry read-only.
    • isReadOnly

      public boolean isReadOnly()
      Tells if this entry is read-only.
      Returns:
      true is read-only, false if not.
    • release

      void release()
      Relases this entry.
    • setLength

      public void setLength(long newLength)
      Sets the length of this entry.
      Parameters:
      newLength - the length in number of bytes
    • checkIfReleased

      private void checkIfReleased()
      Checks if this entry has been released.
      Throws:
      IllegalStateException - if the entry has been released