Class ZipStreamArchive
- java.lang.Object
 - 
- org.apache.jackrabbit.vault.fs.io.ZipStreamArchive
 
 
- 
- All Implemented Interfaces:
 Closeable,AutoCloseable,Archive
public class ZipStreamArchive extends Object
Implements an archive based on a zip stream, but deflates the entries first into a buffer and later into a temporary file, if the content length exceeds the buffer size. 
- 
- 
Nested Class Summary
- 
Nested classes/interfaces inherited from interface org.apache.jackrabbit.vault.fs.io.Archive
Archive.Entry 
 - 
 
- 
Field Summary
Fields Modifier and Type Field Description protected static StringPROPERTY_ENABLE_STACK_TRACESprotected static booleanSHOULD_CREATE_STACK_TRACEDetermines whether stack traces should be created for each register call ofCloseWatcher. 
- 
Constructor Summary
Constructors Constructor Description ZipStreamArchive(@NotNull InputStream in)Creates a new zip stream archive on the given input stream.ZipStreamArchive(@NotNull InputStream in, int maxBufferSize)Creates an ew zip stream archive on the given input stream. 
- 
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()Closes the archive.Archive.EntrygetEntry(String path)Returns the entry specified by path.VaultInputSourcegetInputSource(Archive.Entry entry)Returns an input source for the given entry.Archive.EntrygetJcrRoot()Returns the entry that specifies the "jcr_root". if no such entry exists,nullis returned.MetaInfgetMetaInf()Returns the meta inf.Archive.EntrygetRoot()Returns the root entry.ArchivegetSubArchive(String rootPath, boolean asJcrRoot)Returns a sub archive that is rooted at the given path.booleanisBuffered()Checks if this archive is currently buffered (and not using a temporary file).voidopen(boolean strict)Opens the archive.InputStreamopenInputStream(Archive.Entry entry)Opens an input stream for the given entry. 
 - 
 
- 
- 
Field Detail
- 
PROPERTY_ENABLE_STACK_TRACES
protected static final String PROPERTY_ENABLE_STACK_TRACES
- See Also:
 - Constant Field Values
 
 
- 
SHOULD_CREATE_STACK_TRACE
protected static final boolean SHOULD_CREATE_STACK_TRACE
Determines whether stack traces should be created for each register call ofCloseWatcher. This is false by default. Enable via system or OSGi framework propertyvault.enableStackTraces. 
 - 
 
- 
Constructor Detail
- 
ZipStreamArchive
public ZipStreamArchive(@NotNull @NotNull InputStream in)Creates a new zip stream archive on the given input stream.- Parameters:
 in- the input stream to read from.
 
- 
ZipStreamArchive
public ZipStreamArchive(@NotNull @NotNull InputStream in, int maxBufferSize)Creates an ew zip stream archive on the given input stream.- Parameters:
 in- the input stream to read from.maxBufferSize- size of buffer to keep content in memory.
 
 - 
 
- 
Method Detail
- 
open
public void open(boolean strict) throws IOExceptionDescription copied from interface:ArchiveOpens the archive.- Parameters:
 strict- iftrueopen will fail if there was an internal error while parsing meta data.- Throws:
 IOException- if an error occurs
 
- 
openInputStream
public InputStream openInputStream(Archive.Entry entry) throws IOException
Description copied from interface:ArchiveOpens an input stream for the given entry. Requires a previous call toArchive.open(boolean).- Parameters:
 entry- the entry- Returns:
 - the input stream or 
nullif the entry can't be read - Throws:
 IOException- if an error occurs
 
- 
getInputSource
public VaultInputSource getInputSource(Archive.Entry entry) throws IOException
Description copied from interface:ArchiveReturns an input source for the given entry. Requires a previous call toArchive.open(boolean).- Parameters:
 entry- the entry- Returns:
 - the input source or 
nullif the entry can't be read - Throws:
 IOException- if an error occurs
 
- 
getMetaInf
public MetaInf 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).- Returns:
 - the meta inf.
 
 
- 
close
public void close()
Description copied from interface:ArchiveCloses the archive. Only necessary to call if the archive has been opened. 
- 
getRoot
public Archive.Entry getRoot() throws IOException
Description copied from interface:ArchiveReturns the root entry. Requires a previous call toArchive.open(boolean).- Returns:
 - the root entry.
 - Throws:
 IOException- if an error occurs
 
- 
isBuffered
public boolean isBuffered()
Checks if this archive is currently buffered (and not using a temporary file).- Returns:
 trueif buffered.
 
- 
getEntry
public Archive.Entry getEntry(String path) throws IOException
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
 
- 
getJcrRoot
public Archive.Entry getJcrRoot() throws IOException
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
 
- 
getSubArchive
public Archive getSubArchive(String rootPath, 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:
 rootPath- 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
 
 - 
 
 -