Class ZipArchive
- java.lang.Object
-
- org.apache.jackrabbit.vault.fs.io.ZipArchive
-
- All Implemented Interfaces:
java.io.Closeable
,java.lang.AutoCloseable
,Archive
public class ZipArchive extends java.lang.Object
Implements an archive that is based on a zip file.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.apache.jackrabbit.vault.fs.io.Archive
Archive.Entry
-
-
Constructor Summary
Constructors Constructor Description ZipArchive(@NotNull java.io.File zipFile)
Creates a new archive that is based on the given zip file.ZipArchive(@NotNull java.io.File zipFile, boolean isTempFile)
Creates a new archive that is based on the given zip file.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
Closes the archive.Archive.Entry
getEntry(java.lang.String path)
Returns the entry specified by path.@Nullable java.io.File
getFile()
Returns the underlying file ornull
if it does not exist.long
getFileSize()
Returns the size of the underlying file or -1 if it does not exist.@Nullable VaultInputSource
getInputSource(@Nullable Archive.Entry entry)
Returns an input source for the given entry.Archive.Entry
getJcrRoot()
Returns the entry that specifies the "jcr_root".@NotNull MetaInf
getMetaInf()
Returns the meta inf.@NotNull Archive.Entry
getRoot()
Returns the root entry.Archive
getSubArchive(java.lang.String rootPath, boolean asJcrRoot)
Returns a sub archive that is rooted at the given path.void
open(boolean strict)
Opens the archive.@Nullable java.io.InputStream
openInputStream(@Nullable Archive.Entry entry)
Opens an input stream for the given entry.java.lang.String
toString()
-
-
-
Constructor Detail
-
ZipArchive
public ZipArchive(@NotNull @NotNull java.io.File zipFile)
Creates a new archive that is based on the given zip file.- Parameters:
zipFile
- the zip file
-
ZipArchive
public ZipArchive(@NotNull @NotNull java.io.File zipFile, boolean isTempFile)
Creates a new archive that is based on the given zip file.- Parameters:
zipFile
- the zip fileisTempFile
- iftrue
if the file is considered temporary and can be deleted after this archive is closed.
-
-
Method Detail
-
open
public void open(boolean strict) throws java.io.IOException
Description copied from interface:Archive
Opens the archive.- Parameters:
strict
- iftrue
open will fail if there was an internal error while parsing meta data.- Throws:
java.io.IOException
- if an error occurs
-
openInputStream
@Nullable public @Nullable java.io.InputStream openInputStream(@Nullable @Nullable Archive.Entry entry) throws java.io.IOException
Description copied from interface:Archive
Opens an input stream for the given entry. Requires a previous call toArchive.open(boolean)
.- Parameters:
entry
- the entry- Returns:
- the input stream or
null
if the entry can't be read - Throws:
java.io.IOException
- if an error occurs
-
getInputSource
@Nullable public @Nullable VaultInputSource getInputSource(@Nullable @Nullable Archive.Entry entry) throws java.io.IOException
Description copied from interface:Archive
Returns an input source for the given entry. Requires a previous call toArchive.open(boolean)
.- Parameters:
entry
- the entry- Returns:
- the input source or
null
if the entry can't be read - Throws:
java.io.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.
-
getRoot
@NotNull public @NotNull Archive.Entry getRoot() throws java.io.IOException
Description copied from interface:Archive
Returns the root entry. Requires a previous call toArchive.open(boolean)
.- Returns:
- the root entry.
- Throws:
java.io.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 toArchive.open(boolean)
.- Returns:
- the meta inf.
-
getFile
@Nullable public @Nullable java.io.File getFile()
Returns the underlying file ornull
if it does not exist.- Returns:
- the file or null.
-
getFileSize
public long getFileSize()
Returns the size of the underlying file or -1 if it does not exist.- Returns:
- the file size
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
getEntry
public Archive.Entry getEntry(java.lang.String path) throws java.io.IOException
Description copied from interface:Archive
Returns the entry specified by path. Requires a previous call toArchive.open(boolean)
.
-
getJcrRoot
public Archive.Entry getJcrRoot() throws java.io.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 toArchive.open(boolean)
.- Specified by:
getJcrRoot
in interfaceArchive
- Returns:
- the jcr_root entry or
null
- Throws:
java.io.IOException
- if an error occurs
-
getSubArchive
public Archive getSubArchive(java.lang.String rootPath, boolean asJcrRoot) throws java.io.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 toArchive.open(boolean)
.- Specified by:
getSubArchive
in interfaceArchive
- Parameters:
rootPath
- root pathasJcrRoot
- iftrue
the given root is the jcr_root- Returns:
- the archive or
null
if entry specified by root does not exist. - Throws:
java.io.IOException
- if an error occurs
-
-