Interface Archive
-
- All Superinterfaces:
AutoCloseable,Closeable
- All Known Implementing Classes:
FileArchive,JcrArchive,MappedArchive,MemoryArchive,SubArchive,ZipArchive,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 archiveArchive.EntrygetEntry(String path)Returns the entry specified by path.VaultInputSourcegetInputSource(Archive.Entry entry)Returns an input source for the given entryArchive.EntrygetJcrRoot()Returns the entry that specifies the "jcr_root".MetaInfgetMetaInf()Returns the meta inf.Archive.EntrygetRoot()Returns the root entry.ArchivegetSubArchive(String root, boolean asJcrRoot)Returns a sub archive that is rooted at the given path.voidopen(boolean strict)Opens the archive.InputStreamopenInputStream(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
@CheckForNull InputStream openInputStream(@Nullable Archive.Entry entry) throws IOException
Opens an input stream for the given entry- Parameters:
entry- the entry- Returns:
- the input stream or
nullif the entry can't be read - Throws:
IOException- if an error occurs
-
getInputSource
@CheckForNull VaultInputSource getInputSource(@Nullable Archive.Entry entry) throws IOException
Returns an input source for the given entry- Parameters:
entry- the entry- Returns:
- the input source or
nullif the entry can't be read - Throws:
IOException- if an error occurs
-
getJcrRoot
@CheckForNull Archive.Entry getJcrRoot() throws IOException
Returns the entry that specifies the "jcr_root". if no such entry exists,nullis returned.- Returns:
- the jcr_root entry or
null - Throws:
IOException- if an error occurs
-
getRoot
@Nonnull Archive.Entry getRoot() throws IOException
Returns the root entry.- Returns:
- the root entry.
- Throws:
IOException- if an error occurs
-
getMetaInf
@Nonnull MetaInf getMetaInf()
Returns the meta inf. If the archive provides no specific meta data, a default, empty meta inf is returned.- Returns:
- the meta inf.
-
getEntry
@CheckForNull Archive.Entry getEntry(@Nonnull String path) throws IOException
Returns the entry specified by path.- Parameters:
path- the path- Returns:
- the entry or
nullif not found. - Throws:
IOException- if an error occurs
-
getSubArchive
@CheckForNull Archive getSubArchive(@Nonnull 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 they own meta inf and are closed automatically if they base is closed.- 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- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable
-
-