Class MemoryArchive
- java.lang.Object
 - 
- org.apache.jackrabbit.vault.fs.io.MemoryArchive
 
 
- 
- All Implemented Interfaces:
 java.io.Closeable,java.lang.AutoCloseable,Archive,InputStreamPump.Pump
public class MemoryArchive extends java.lang.Object implements InputStreamPump.Pump
Implements anInputStreamPump.Pumpthat extracts the relevant parts from the input stream into memory. The memory archive is initialized via therun(InputStream)being called fromInputStreamPump. 
- 
- 
Nested Class Summary
- 
Nested classes/interfaces inherited from interface org.apache.jackrabbit.vault.fs.io.Archive
Archive.Entry 
 - 
 
- 
Constructor Summary
Constructors Constructor Description MemoryArchive(boolean metaOnly)Creates new memory archive. 
- 
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()Closes the archive.Archive.EntrygetEntry(java.lang.String path)Returns the entry specified by path.VaultInputSourcegetInputSource(Archive.Entry entry)Returns an input source for the given entry.Archive.EntrygetJcrRoot()Returns the entry that specifies the "jcr_root".MetaInfgetMetaInf()Returns the meta inf.Archive.EntrygetRoot()Returns the root entry.ArchivegetSubArchive(java.lang.String rootPath, boolean asJcrRoot)Returns a sub archive that is rooted at the given path.voidopen(boolean strict)Opens the archive.java.io.InputStreamopenInputStream(Archive.Entry entry)Opens an input stream for the given entry.voidrun(java.io.InputStream in)The specified stream remains open after this method returns. 
 - 
 
- 
- 
Method Detail
- 
run
public void run(java.io.InputStream in) throws java.lang.ExceptionThe specified stream remains open after this method returns.
- Specified by:
 runin interfaceInputStreamPump.Pump- Throws:
 java.lang.Exception
 
- 
open
public void open(boolean strict) throws java.io.IOExceptionOpens the archive. 
- 
openInputStream
public java.io.InputStream openInputStream(Archive.Entry entry) throws java.io.IOException
Opens an input stream for the given entry. Requires a previous call toArchive.open(boolean).- Specified by:
 openInputStreamin interfaceArchive- Parameters:
 entry- the entry- Returns:
 - the input stream or 
nullif the entry can't be read - Throws:
 java.io.IOException- if an error occurs
 
- 
getInputSource
public VaultInputSource getInputSource(Archive.Entry entry) throws java.io.IOException
Returns an input source for the given entry. Requires a previous call toArchive.open(boolean).- Specified by:
 getInputSourcein interfaceArchive- Parameters:
 entry- the entry- Returns:
 - the input source or 
nullif the entry can't be read - Throws:
 java.io.IOException- if an error occurs
 
- 
getRoot
public Archive.Entry getRoot() throws java.io.IOException
Returns the root entry. Requires a previous call toArchive.open(boolean). 
- 
getMetaInf
public 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 toArchive.open(boolean).- Specified by:
 getMetaInfin interfaceArchive- Returns:
 - the meta inf.
 
 
- 
close
public void close()
Closes the archive. Only necessary to call if the archive has been opened. 
- 
getEntry
public Archive.Entry getEntry(java.lang.String path) throws java.io.IOException
Description copied from interface:ArchiveReturns the entry specified by path. Requires a previous call toArchive.open(boolean). 
- 
getJcrRoot
public Archive.Entry getJcrRoot() throws java.io.IOException
Description copied from interface:ArchiveReturns the entry that specifies the "jcr_root". if no such entry exists,nullis returned. Requires a previous call toArchive.open(boolean).- Specified by:
 getJcrRootin interfaceArchive- Returns:
 - the jcr_root entry or 
null - Throws:
 java.io.IOException- if an error occurs
 
- 
getSubArchive
public Archive getSubArchive(java.lang.String rootPath, boolean asJcrRoot) throws java.io.IOException
Description copied from interface:ArchiveReturns 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 toArchive.open(boolean).- 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:
 java.io.IOException- if an error occurs
 
 - 
 
 -