org.eclipse.birt.core.archive.compound
Class ArchiveWriter

java.lang.Object
  extended by org.eclipse.birt.core.archive.compound.ArchiveWriter
All Implemented Interfaces:
IDocArchiveWriter
Direct Known Subclasses:
FileArchiveWriter

public class ArchiveWriter
extends java.lang.Object
implements IDocArchiveWriter


Constructor Summary
ArchiveWriter(IArchiveFile archive)
           
ArchiveWriter(java.lang.String archiveName)
           
 
Method Summary
 RAOutputStream createOutputStream(java.lang.String relativePath)
           
 RAOutputStream createRandomAccessStream(java.lang.String relativePath)
          Create a random access stream in the archive and return it.
 boolean dropStream(java.lang.String relativePath)
          Delete a stream from the archive.
 boolean exists(java.lang.String relativePath)
           
 void finish()
          This function must be called after the writer is used.
 void flush()
          This function flushs all the buffers in the writer
 IArchiveFile getArchive()
           
 RAInputStream getInputStream(java.lang.String relativePath)
           
 java.lang.String getName()
           
 RAOutputStream getOutputStream(java.lang.String relativePath)
           
 void initialize()
          This function must be called before the writer is used.
 java.lang.Object lock(java.lang.String stream)
          try to lock the stream
 RAOutputStream openRandomAccessStream(java.lang.String relativePath)
           
 void setStreamSorter(IStreamSorter streamSorter)
          Set the stream sorter (if needed).
 void unlock(java.lang.Object locker)
          unlock the stream locked by the object.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ArchiveWriter

public ArchiveWriter(java.lang.String archiveName)
              throws java.io.IOException
Throws:
java.io.IOException

ArchiveWriter

public ArchiveWriter(IArchiveFile archive)
              throws java.io.IOException
Throws:
java.io.IOException
Method Detail

getArchive

public IArchiveFile getArchive()

createRandomAccessStream

public RAOutputStream createRandomAccessStream(java.lang.String relativePath)
                                        throws java.io.IOException
Description copied from interface: IDocArchiveWriter
Create a random access stream in the archive and return it.

Specified by:
createRandomAccessStream in interface IDocArchiveWriter
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:
openRandomAccessStream in interface IDocArchiveWriter
Throws:
java.io.IOException

createOutputStream

public RAOutputStream createOutputStream(java.lang.String relativePath)
                                  throws java.io.IOException
Specified by:
createOutputStream in interface IDocArchiveWriter
Throws:
java.io.IOException

getOutputStream

public RAOutputStream getOutputStream(java.lang.String relativePath)
                               throws java.io.IOException
Specified by:
getOutputStream in interface IDocArchiveWriter
Throws:
java.io.IOException

getInputStream

public RAInputStream getInputStream(java.lang.String relativePath)
                             throws java.io.IOException
Specified by:
getInputStream in interface IDocArchiveWriter
Throws:
java.io.IOException

dropStream

public boolean dropStream(java.lang.String relativePath)
Description copied from interface: IDocArchiveWriter
Delete a stream from the archive. Note: Not all of the derived classes support this function. E.g. FileArchiveWriter doesn't support it.

Specified by:
dropStream in interface IDocArchiveWriter
Parameters:
relativePath - - the relative path of the stream
Returns:
whether the operation was successful

exists

public boolean exists(java.lang.String relativePath)
Specified by:
exists in interface IDocArchiveWriter
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.

finish

public void finish()
            throws java.io.IOException
Description copied from interface: IDocArchiveWriter
This 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:
finish in interface IDocArchiveWriter
Throws:
java.io.IOException

flush

public void flush()
           throws java.io.IOException
Description copied from interface: IDocArchiveWriter
This function flushs all the buffers in the writer

Specified by:
flush in interface IDocArchiveWriter
Throws:
java.io.IOException

getName

public java.lang.String getName()
Specified by:
getName in interface IDocArchiveWriter
Returns:
the archive name

initialize

public void initialize()
                throws java.io.IOException
Description copied from interface: IDocArchiveWriter
This function must be called before the writer is used. initialize the document archive.

Specified by:
initialize in interface IDocArchiveWriter
Throws:
java.io.IOException

setStreamSorter

public void setStreamSorter(IStreamSorter streamSorter)
Description copied from interface: IDocArchiveWriter
Set 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:
setStreamSorter in interface IDocArchiveWriter
Parameters:
streamSorter - - the stream sorter

lock

public java.lang.Object lock(java.lang.String stream)
                      throws java.io.IOException
Description copied from interface: IDocArchiveWriter
try to lock the stream

Specified by:
lock in interface IDocArchiveWriter
Returns:
the locker.
Throws:
java.io.IOException

unlock

public void unlock(java.lang.Object locker)
Description copied from interface: IDocArchiveWriter
unlock the stream locked by the object.

Specified by:
unlock in interface IDocArchiveWriter
Parameters:
locker - object returned by the lock().


Copyright © 2008 Actuate Corp. All rights reserved.