org.apache.poi.poifs.filesystem
Class OPOIFSDocument

java.lang.Object
  extended by org.apache.poi.poifs.filesystem.OPOIFSDocument
All Implemented Interfaces:
POIFSViewable, BATManaged, BlockWritable

public final class OPOIFSDocument
extends java.lang.Object
implements BATManaged, BlockWritable, POIFSViewable

This class manages a document in a old-style OPOIFS filesystem.


Constructor Summary
OPOIFSDocument(java.lang.String name, java.io.InputStream stream)
           
OPOIFSDocument(java.lang.String name, int size, POIFSBigBlockSize bigBlockSize, POIFSDocumentPath path, POIFSWriterListener writer)
          Constructor
OPOIFSDocument(java.lang.String name, int size, POIFSDocumentPath path, POIFSWriterListener writer)
           
OPOIFSDocument(java.lang.String name, ListManagedBlock[] blocks, int length)
           
OPOIFSDocument(java.lang.String name, POIFSBigBlockSize bigBlockSize, java.io.InputStream stream)
          Constructor
OPOIFSDocument(java.lang.String name, POIFSBigBlockSize bigBlockSize, ListManagedBlock[] blocks, int length)
          Constructor from small blocks
OPOIFSDocument(java.lang.String name, RawDataBlock[] blocks, int length)
          Constructor from large blocks
OPOIFSDocument(java.lang.String name, SmallDocumentBlock[] blocks, int length)
          Constructor from small blocks
 
Method Summary
 int countBlocks()
          Return the number of BigBlock's this instance uses
 java.lang.String getShortDescription()
          Provides a short description of the object, to be used when a POIFSViewable object has not provided its contents.
 int getSize()
           
 SmallDocumentBlock[] getSmallBlocks()
           
 java.lang.Object[] getViewableArray()
          Get an array of objects, some of which may implement POIFSViewable
 java.util.Iterator<java.lang.Object> getViewableIterator()
          Get an Iterator of objects, some of which may implement POIFSViewable
 boolean preferArray()
          Give viewers a hint as to whether to call getViewableArray or getViewableIterator
 void setStartBlock(int index)
          Set the start block for this instance
 void writeBlocks(java.io.OutputStream stream)
          Write the storage to an OutputStream
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

OPOIFSDocument

public OPOIFSDocument(java.lang.String name,
                      RawDataBlock[] blocks,
                      int length)
               throws java.io.IOException
Constructor from large blocks

Parameters:
name - the name of the POIFSDocument
blocks - the big blocks making up the POIFSDocument
length - the actual length of the POIFSDocument
Throws:
java.io.IOException

OPOIFSDocument

public OPOIFSDocument(java.lang.String name,
                      SmallDocumentBlock[] blocks,
                      int length)
Constructor from small blocks

Parameters:
name - the name of the POIFSDocument
blocks - the small blocks making up the POIFSDocument
length - the actual length of the POIFSDocument

OPOIFSDocument

public OPOIFSDocument(java.lang.String name,
                      POIFSBigBlockSize bigBlockSize,
                      ListManagedBlock[] blocks,
                      int length)
               throws java.io.IOException
Constructor from small blocks

Parameters:
name - the name of the POIFSDocument
blocks - the small blocks making up the POIFSDocument
length - the actual length of the POIFSDocument
Throws:
java.io.IOException

OPOIFSDocument

public OPOIFSDocument(java.lang.String name,
                      ListManagedBlock[] blocks,
                      int length)
               throws java.io.IOException
Throws:
java.io.IOException

OPOIFSDocument

public OPOIFSDocument(java.lang.String name,
                      POIFSBigBlockSize bigBlockSize,
                      java.io.InputStream stream)
               throws java.io.IOException
Constructor

Parameters:
name - the name of the POIFSDocument
stream - the InputStream we read data from
Throws:
java.io.IOException

OPOIFSDocument

public OPOIFSDocument(java.lang.String name,
                      java.io.InputStream stream)
               throws java.io.IOException
Throws:
java.io.IOException

OPOIFSDocument

public OPOIFSDocument(java.lang.String name,
                      int size,
                      POIFSBigBlockSize bigBlockSize,
                      POIFSDocumentPath path,
                      POIFSWriterListener writer)
Constructor

Parameters:
name - the name of the POIFSDocument
size - the length of the POIFSDocument
path - the path of the POIFSDocument
writer - the writer who will eventually write the document contents

OPOIFSDocument

public OPOIFSDocument(java.lang.String name,
                      int size,
                      POIFSDocumentPath path,
                      POIFSWriterListener writer)
Method Detail

getSmallBlocks

public SmallDocumentBlock[] getSmallBlocks()
Returns:
array of SmallDocumentBlocks; may be empty, cannot be null

getSize

public int getSize()
Returns:
size of the document

writeBlocks

public void writeBlocks(java.io.OutputStream stream)
                 throws java.io.IOException
Write the storage to an OutputStream

Specified by:
writeBlocks in interface BlockWritable
Parameters:
stream - the OutputStream to which the stored data should be written
Throws:
java.io.IOException - on problems writing to the specified stream

countBlocks

public int countBlocks()
Return the number of BigBlock's this instance uses

Specified by:
countBlocks in interface BATManaged
Returns:
count of BigBlock instances

setStartBlock

public void setStartBlock(int index)
Set the start block for this instance

Specified by:
setStartBlock in interface BATManaged
Parameters:
index - index into the array of blocks making up the filesystem

getViewableArray

public java.lang.Object[] getViewableArray()
Get an array of objects, some of which may implement POIFSViewable

Specified by:
getViewableArray in interface POIFSViewable
Returns:
an array of Object; may not be null, but may be empty

getViewableIterator

public java.util.Iterator<java.lang.Object> getViewableIterator()
Get an Iterator of objects, some of which may implement POIFSViewable

Specified by:
getViewableIterator in interface POIFSViewable
Returns:
an Iterator; may not be null, but may have an empty back end store

preferArray

public boolean preferArray()
Give viewers a hint as to whether to call getViewableArray or getViewableIterator

Specified by:
preferArray in interface POIFSViewable
Returns:
true if a viewer should call getViewableArray, false if a viewer should call getViewableIterator

getShortDescription

public java.lang.String getShortDescription()
Provides a short description of the object, to be used when a POIFSViewable object has not provided its contents.

Specified by:
getShortDescription in interface POIFSViewable
Returns:
short description