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.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static interface
Archive.Entry
Entry of an archive
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
close()
Closes the archive.@Nullable Archive.Entry
getEntry(@NotNull String path)
Returns the entry specified by path.@Nullable VaultInputSource
getInputSource(@Nullable Archive.Entry entry)
Returns an input source for the given entry.@Nullable 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.@Nullable Archive
getSubArchive(@NotNull String root, boolean asJcrRoot)
Returns a sub archive that is rooted at the given path.void
open(boolean strict)
Opens the archive.@Nullable InputStream
openInputStream(@Nullable Archive.Entry entry)
Opens an input stream for the given entry.
-
-
-
Method Detail
-
open
void open(boolean strict) throws IOException
Opens the archive.- Parameters:
strict
- iftrue
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 toopen(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 toopen(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 toopen(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 toopen(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 toopen(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 toopen(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 toopen(boolean)
.- Parameters:
root
- root pathasJcrRoot
- iftrue
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 interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
-
-