Interface Archive

All Superinterfaces:
AutoCloseable, Closeable
All Known Implementing Classes:
ArchiveWrapper, FileArchive, JcrArchive, MappedArchive, MemoryArchive, SubArchive, SubPackageFilterArchive, ZipArchive, ZipNioArchive, ZipStreamArchive

public interface Archive extends Closeable
Specifies a FileVault archive.
  • Method Details

    • open

      void open(boolean strict) throws IOException
      Opens the archive.
      Parameters:
      strict - if true open will fail if there was an internal error while parsing meta data.
      Throws:
      IOException - if an error occurs
    • openInputStream

      @Nullable @Nullable InputStream openInputStream(@Nullable @Nullable Archive.Entry entry) throws IOException
      Opens an input stream for the given entry. Requires a previous call to open(boolean).
      Parameters:
      entry - the entry
      Returns:
      the input stream or null if the entry can't be read
      Throws:
      IOException - if an error occurs
    • getInputSource

      @Nullable @Nullable VaultInputSource getInputSource(@Nullable @Nullable Archive.Entry entry) throws IOException
      Returns an input source for the given entry. Requires a previous call to open(boolean).
      Parameters:
      entry - the entry
      Returns:
      the input source or null if the entry can't be read
      Throws:
      IOException - if an error occurs
    • getJcrRoot

      @Nullable @Nullable Archive.Entry getJcrRoot() throws IOException
      Returns the entry that specifies the "jcr_root". if no such entry exists, null is returned. Requires a previous call to open(boolean).
      Returns:
      the jcr_root entry or null
      Throws:
      IOException - if an error occurs
    • getRoot

      @NotNull @NotNull Archive.Entry getRoot() throws IOException
      Returns the root entry. Requires a previous call to open(boolean).
      Returns:
      the root entry.
      Throws:
      IOException - if an error occurs
    • getMetaInf

      @NotNull @NotNull MetaInf getMetaInf()
      Returns the meta inf. If the archive provides no specific meta data, a default, empty meta inf is returned. Requires a previous call to open(boolean).
      Returns:
      the meta inf.
    • getEntry

      @Nullable @Nullable Archive.Entry getEntry(@NotNull @NotNull String path) throws IOException
      Returns the entry specified by path. Requires a previous call to open(boolean).
      Parameters:
      path - the path
      Returns:
      the entry or null if not found.
      Throws:
      IOException - if an error occurs
    • getSubArchive

      @Nullable @Nullable Archive getSubArchive(@NotNull @NotNull String root, boolean asJcrRoot) throws IOException
      Returns a sub archive that is rooted at the given path. Note that sub archives currently can't have their own meta inf and are closed automatically if their container archive is closed. Requires a previous call to open(boolean).
      Parameters:
      root - root path
      asJcrRoot - if true the given root is the jcr_root
      Returns:
      the archive or null if entry specified by root does not exist.
      Throws:
      IOException - if an error occurs
    • close

      void close()
      Closes the archive. Only necessary to call if the archive has been opened.
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable