Class FileArchive
- java.lang.Object
-
- org.apache.jackrabbit.vault.fs.io.FileArchive
-
- All Implemented Interfaces:
Closeable,AutoCloseable,Archive
public class FileArchive extends Object
Implements an archived based on the file system
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.apache.jackrabbit.vault.fs.io.Archive
Archive.Entry
-
-
Constructor Summary
Constructors Constructor Description FileArchive(File rootDirectory)
-
Method Summary
All Methods Instance Methods Concrete 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 rootPath, 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
-
-
-
Constructor Detail
-
FileArchive
public FileArchive(File rootDirectory)
-
-
Method Detail
-
open
public void open(boolean strict) throws IOExceptionOpens the archive.- Parameters:
strict- iftrueopen will fail if there was an internal error while parsing meta data.- Throws:
IOException- if an error occurs
-
close
public void close()
closes the archive
-
getJcrRoot
public Archive.Entry getJcrRoot()
Returns the entry that specifies the "jcr_root". if no such entry exists,nullis returned.- Specified by:
getJcrRootin interfaceArchive- Returns:
- the jcr_root entry or
null
-
getRoot
public Archive.Entry getRoot() throws IOException
Returns the root entry.- Returns:
- the root entry.
- Throws:
IOException- if an error occurs
-
getMetaInf
public 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.
-
openInputStream
public InputStream openInputStream(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
public VaultInputSource getInputSource(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
-
getEntry
public Archive.Entry getEntry(String path) throws IOException
Description copied from interface:ArchiveReturns the entry specified by path.- Specified by:
getEntryin interfaceArchive- Parameters:
path- the path- Returns:
- the entry or
nullif not found. - Throws:
IOException- if an error occurs
-
getSubArchive
public Archive getSubArchive(String rootPath, boolean asJcrRoot) throws IOException
Description copied from interface:ArchiveReturns 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.- Specified by:
getSubArchivein interfaceArchive- Parameters:
rootPath- 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
-
-