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 interfaceArchive.EntryEntry of an archive
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description voidclose()Closes the archive.@Nullable Archive.EntrygetEntry(@NotNull String path)Returns the entry specified by path.@Nullable VaultInputSourcegetInputSource(@Nullable Archive.Entry entry)Returns an input source for the given entry.@Nullable Archive.EntrygetJcrRoot()Returns the entry that specifies the "jcr_root". if no such entry exists,nullis returned.@NotNull MetaInfgetMetaInf()Returns 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.
-
-
-
Method Detail
-
open
void open(boolean strict) throws IOException
Opens the archive.- Parameters:
strict- iftrueopen 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
nullif 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
nullif 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,nullis 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
nullif 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- 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
void close()
Closes the archive. Only necessary to call if the archive has been opened.- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable
-
-