Package org.eclipse.birt.core.archive
Class FolderArchiveWriter
- java.lang.Object
-
- org.eclipse.birt.core.archive.FolderArchiveWriter
-
- All Implemented Interfaces:
IDocArchiveWriter
public class FolderArchiveWriter extends java.lang.Object implements IDocArchiveWriter
-
-
Constructor Summary
Constructors Constructor Description FolderArchiveWriter(java.lang.String folderName)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()RAOutputStreamcreateOutputStream(java.lang.String relativePath)RAOutputStreamcreateRandomAccessStream(java.lang.String relativePath)Create a random access stream in the archive and return it.booleandropStream(java.lang.String relativePath)Delete a stream from the archive and make sure the stream has been closed.booleanexists(java.lang.String relativePath)voidfinish()This function must be called after the writer is used.voidflush()This function flushs all the buffers in the writerIArchiveFilegetArchiveFile()Get archive fileRAInputStreamgetInputStream(java.lang.String relativePath)java.lang.StringgetName()RAOutputStreamgetOutputStream(java.lang.String relativePath)voidinitialize()This function must be called before the writer is used.java.util.List<java.lang.String>listAllStreams()get all the stream in the archive file.java.util.List<java.lang.String>listStreams(java.lang.String relativeStoragePath)return a list of strings which are the relative path of streamsjava.lang.Objectlock(java.lang.String stream)try to lock the streamRAOutputStreamopenRandomAccessStream(java.lang.String relativePath)voidsetStreamSorter(IStreamSorter streamSorter)Set the stream sorter (if needed).voidtoFileArchive(java.lang.String fileArchiveName)Convert the current folder archive to file archive.voidunlock(java.lang.Object lock)unlock the stream locked by the object.
-
-
-
Method Detail
-
initialize
public void initialize()
Description copied from interface:IDocArchiveWriterThis function must be called before the writer is used. initialize the document archive.- Specified by:
initializein interfaceIDocArchiveWriter
-
createRandomAccessStream
public RAOutputStream createRandomAccessStream(java.lang.String relativePath) throws java.io.IOException
Description copied from interface:IDocArchiveWriterCreate a random access stream in the archive and return it.- Specified by:
createRandomAccessStreamin interfaceIDocArchiveWriter- Parameters:
relativePath- - relative path to report archive path. The path is based on Unix syntax, with the root of the archive denoted by "/". The initial "/" character can be skipped.- Returns:
- RAOutputStream
- Throws:
java.io.IOException
-
openRandomAccessStream
public RAOutputStream openRandomAccessStream(java.lang.String relativePath) throws java.io.IOException
- Specified by:
openRandomAccessStreamin interfaceIDocArchiveWriter- Throws:
java.io.IOException
-
createOutputStream
public RAOutputStream createOutputStream(java.lang.String relativePath) throws java.io.IOException
- Specified by:
createOutputStreamin interfaceIDocArchiveWriter- Throws:
java.io.IOException
-
getOutputStream
public RAOutputStream getOutputStream(java.lang.String relativePath) throws java.io.IOException
- Specified by:
getOutputStreamin interfaceIDocArchiveWriter- Throws:
java.io.IOException
-
getInputStream
public RAInputStream getInputStream(java.lang.String relativePath) throws java.io.IOException
- Specified by:
getInputStreamin interfaceIDocArchiveWriter- Throws:
java.io.IOException
-
dropStream
public boolean dropStream(java.lang.String relativePath)
Delete a stream from the archive and make sure the stream has been closed.- Specified by:
dropStreamin interfaceIDocArchiveWriter- Parameters:
relativePath- - the relative path of the stream- Returns:
- whether the delete operation was successful
- Throws:
java.io.IOException
-
getName
public java.lang.String getName()
- Specified by:
getNamein interfaceIDocArchiveWriter- Returns:
- the archive name
-
exists
public boolean exists(java.lang.String relativePath)
- Specified by:
existsin interfaceIDocArchiveWriter- Parameters:
relativePath- - the relative stream path in the archive. The relative path is based on Unix syntax, with the root of the archive denoted by "/". The initial "/" character can be skipped.- Returns:
- a list of strings representing the underlying stream names. The return values are in the relative path format too.
-
setStreamSorter
public void setStreamSorter(IStreamSorter streamSorter)
Description copied from interface:IDocArchiveWriterSet the stream sorter (if needed). The stream sorter will be used to sort the streams. If no stream sorter is set, the streams will be written in random order.- Specified by:
setStreamSorterin interfaceIDocArchiveWriter- Parameters:
streamSorter- - the stream sorter
-
finish
public void finish() throws java.io.IOExceptionDescription copied from interface:IDocArchiveWriterThis function must be called after the writer is used. finalizes the socument archive. This may involve compressing the archive to a single file. This also closes and finishes using the archive.- Specified by:
finishin interfaceIDocArchiveWriter- Throws:
java.io.IOException
-
close
public void close() throws java.io.IOException- Throws:
java.io.IOException
-
toFileArchive
public void toFileArchive(java.lang.String fileArchiveName) throws java.io.IOExceptionConvert the current folder archive to file archive. The original folder archive will NOT be removed.- Parameters:
fileArchiveName-- Throws:
java.io.IOException
-
flush
public void flush() throws java.io.IOExceptionDescription copied from interface:IDocArchiveWriterThis function flushs all the buffers in the writer- Specified by:
flushin interfaceIDocArchiveWriter- Throws:
java.io.IOException
-
lock
public java.lang.Object lock(java.lang.String stream) throws java.io.IOExceptionDescription copied from interface:IDocArchiveWritertry to lock the stream- Specified by:
lockin interfaceIDocArchiveWriter- Returns:
- the locker.
- Throws:
java.io.IOException
-
unlock
public void unlock(java.lang.Object lock)
Description copied from interface:IDocArchiveWriterunlock the stream locked by the object.- Specified by:
unlockin interfaceIDocArchiveWriter- Parameters:
lock- object returned by the lock().
-
listStreams
public java.util.List<java.lang.String> listStreams(java.lang.String relativeStoragePath) throws java.io.IOExceptionreturn a list of strings which are the relative path of streams- Specified by:
listStreamsin interfaceIDocArchiveWriter- Parameters:
relativeStoragePath- - the relative stream path in the archive. The relative path is based on Unix syntax, with the root of the archive denoted by "/". The initial "/" character can be skipped.- Returns:
- a list of strings representing the underlying stream names. The return values are in the relative path format too.
- Throws:
java.io.IOException
-
listAllStreams
public java.util.List<java.lang.String> listAllStreams() throws java.io.IOExceptionDescription copied from interface:IDocArchiveWriterget all the stream in the archive file.- Specified by:
listAllStreamsin interfaceIDocArchiveWriter- Returns:
- Throws:
java.io.IOException
-
getArchiveFile
public IArchiveFile getArchiveFile()
Description copied from interface:IDocArchiveWriterGet archive file- Specified by:
getArchiveFilein interfaceIDocArchiveWriter- Returns:
-
-