Class ArchiveWrapper
java.lang.Object
org.apache.jackrabbit.vault.fs.impl.ArchiveWrapper
- All Implemented Interfaces:
Closeable,AutoCloseable,Archive
Wrapper class that hides all implementation details from the underlying archive.
this is mainly use to hide the
ZipArchive.getFile().-
Nested Class Summary
Nested classes/interfaces inherited from interface org.apache.jackrabbit.vault.fs.io.Archive
Archive.Entry -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()Closes the archive.@Nullable Archive.EntryReturns the entry specified by path.@Nullable VaultInputSourcegetInputSource(@Nullable Archive.Entry entry) Returns an input source for the given entry.@Nullable Archive.EntryReturns the entry that specifies the "jcr_root". if no such entry exists,nullis returned.@NotNull MetaInfReturns the meta inf.@NotNull Archive.EntrygetRoot()Returns the root entry.@Nullable ArchivegetSubArchive(@NotNull String root, boolean asJcrRoot) Returns a sub archive that is rooted at the given path.voidopen(boolean strict) Opens the archive.@Nullable InputStreamopenInputStream(@Nullable Archive.Entry entry) Opens an input stream for the given entry.
-
Constructor Details
-
ArchiveWrapper
-
-
Method Details
-
open
Description copied from interface:ArchiveOpens the archive.- Specified by:
openin interfaceArchive- Parameters:
strict- iftrueopen 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:ArchiveOpens an input stream for the given entry. Requires a previous call toArchive.open(boolean).- Specified by:
openInputStreamin interfaceArchive- Parameters:
entry- the entry- Returns:
- the input stream or
nullif 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:ArchiveReturns an input source for the given entry. Requires a previous call toArchive.open(boolean).- Specified by:
getInputSourcein interfaceArchive- Parameters:
entry- the entry- Returns:
- the input source or
nullif the entry can't be read - Throws:
IOException- if an error occurs
-
getJcrRoot
Description copied from interface:ArchiveReturns the entry that specifies the "jcr_root". if no such entry exists,nullis returned. Requires a previous call toArchive.open(boolean).- Specified by:
getJcrRootin interfaceArchive- Returns:
- the jcr_root entry or
null - Throws:
IOException- if an error occurs
-
getRoot
Description copied from interface:ArchiveReturns the root entry. Requires a previous call toArchive.open(boolean).- Specified by:
getRootin interfaceArchive- Returns:
- the root entry.
- Throws:
IOException- if an error occurs
-
getMetaInf
Description copied from interface:ArchiveReturns the meta inf. If the archive provides no specific meta data, a default, empty meta inf is returned. Requires a previous call toArchive.open(boolean).- Specified by:
getMetaInfin interfaceArchive- Returns:
- the meta inf.
-
getEntry
Description copied from interface:ArchiveReturns the entry specified by path. Requires a previous call toArchive.open(boolean).- Specified by:
getEntryin interfaceArchive- Parameters:
path- the path- Returns:
- the entry or
nullif 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:ArchiveReturns 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 toArchive.open(boolean).- Specified by:
getSubArchivein interfaceArchive- Parameters:
root- root pathasJcrRoot- iftruethe given root is the jcr_root- Returns:
- the archive or
nullif entry specified by root does not exist. - Throws:
IOException- if an error occurs
-
close
public void close()Description copied from interface:ArchiveCloses the archive. Only necessary to call if the archive has been opened.
-