Interface Archive
-
- All Superinterfaces:
java.lang.AutoCloseable
,java.io.Closeable
- All Known Implementing Classes:
FileArchive
,JcrArchive
,MappedArchive
,MemoryArchive
,SubArchive
,ZipArchive
,ZipStreamArchive
public interface Archive extends java.io.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 archiveArchive.Entry
getEntry(java.lang.String path)
Returns the entry specified by path.VaultInputSource
getInputSource(Archive.Entry entry)
Returns an input source for the given entryArchive.Entry
getJcrRoot()
Returns the entry that specifies the "jcr_root".MetaInf
getMetaInf()
Returns the meta inf.Archive.Entry
getRoot()
Returns the root entry.Archive
getSubArchive(java.lang.String root, boolean asJcrRoot)
Returns a sub archive that is rooted at the given path.void
open(boolean strict)
Opens the archive.java.io.InputStream
openInputStream(Archive.Entry entry)
Opens an input stream for the given entry
-
-
-
Method Detail
-
open
void open(boolean strict) throws java.io.IOException
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
@CheckForNull java.io.InputStream openInputStream(@Nullable Archive.Entry entry) throws java.io.IOException
Opens an input stream for the given entry- 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
@CheckForNull VaultInputSource getInputSource(@Nullable Archive.Entry entry) throws java.io.IOException
Returns an input source for the given entry- 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
-
getJcrRoot
@CheckForNull Archive.Entry getJcrRoot() throws java.io.IOException
Returns the entry that specifies the "jcr_root". if no such entry exists,null
is returned.- Returns:
- the jcr_root entry or
null
- Throws:
java.io.IOException
- if an error occurs
-
getRoot
@Nonnull Archive.Entry getRoot() throws java.io.IOException
Returns the root entry.- Returns:
- the root entry.
- Throws:
java.io.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 java.lang.String path) throws java.io.IOException
Returns the entry specified by path.- Parameters:
path
- the path- Returns:
- the entry or
null
if not found. - Throws:
java.io.IOException
- if an error occurs
-
getSubArchive
@CheckForNull Archive getSubArchive(@Nonnull java.lang.String root, boolean asJcrRoot) throws java.io.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
- 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
-
close
void close()
closes the archive- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
-
-