Class ArchiveWrapper

java.lang.Object
org.apache.jackrabbit.vault.fs.impl.ArchiveWrapper
All Implemented Interfaces:
Closeable, AutoCloseable, Archive

public final class ArchiveWrapper extends Object implements Archive
Wrapper class that hides all implementation details from the underlying archive. this is mainly use to hide the ZipArchive.getFile().
  • Constructor Details

    • ArchiveWrapper

      public ArchiveWrapper(Archive archive)
  • Method Details

    • open

      public void open(boolean strict) throws IOException
      Description copied from interface: Archive
      Opens the archive.
      Specified by:
      open in interface 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 public @Nullable InputStream openInputStream(@Nullable @Nullable Archive.Entry entry) throws IOException
      Description copied from interface: Archive
      Opens an input stream for the given entry. Requires a previous call to Archive.open(boolean).
      Specified by:
      openInputStream in interface Archive
      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 public @Nullable VaultInputSource getInputSource(@Nullable @Nullable Archive.Entry entry) throws IOException
      Description copied from interface: Archive
      Returns an input source for the given entry. Requires a previous call to Archive.open(boolean).
      Specified by:
      getInputSource in interface Archive
      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 public @Nullable Archive.Entry getJcrRoot() throws IOException
      Description copied from interface: Archive
      Returns the entry that specifies the "jcr_root". if no such entry exists, null is returned. Requires a previous call to Archive.open(boolean).
      Specified by:
      getJcrRoot in interface Archive
      Returns:
      the jcr_root entry or null
      Throws:
      IOException - if an error occurs
    • getRoot

      @NotNull public @NotNull Archive.Entry getRoot() throws IOException
      Description copied from interface: Archive
      Returns the root entry. Requires a previous call to Archive.open(boolean).
      Specified by:
      getRoot in interface Archive
      Returns:
      the root entry.
      Throws:
      IOException - if an error occurs
    • getMetaInf

      @NotNull public @NotNull MetaInf getMetaInf()
      Description copied from interface: Archive
      Returns the meta inf. If the archive provides no specific meta data, a default, empty meta inf is returned. Requires a previous call to Archive.open(boolean).
      Specified by:
      getMetaInf in interface Archive
      Returns:
      the meta inf.
    • getEntry

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

      @Nullable public @Nullable Archive getSubArchive(@NotNull @NotNull String root, boolean asJcrRoot) throws IOException
      Description copied from interface: Archive
      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 Archive.open(boolean).
      Specified by:
      getSubArchive in interface Archive
      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

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