Package loci.poi.poifs.filesystem
Class POIFSDocument
java.lang.Object
loci.poi.poifs.filesystem.POIFSDocument
- All Implemented Interfaces:
POIFSViewable,BATManaged,BlockWritable
This class manages a document in the POIFS filesystem.
- Author:
- Marc Johnson (mjohnson at apache dot org)
-
Constructor Summary
ConstructorsConstructorDescriptionPOIFSDocument(String name, int size, POIFSDocumentPath path, POIFSWriterListener writer, int blockSize) ConstructorPOIFSDocument(String name, loci.common.RandomAccessInputStream stream, int size) ConstructorPOIFSDocument(String name, ListManagedBlock[] blocks, int length, int size) Constructor from small blocksPOIFSDocument(String name, RawDataBlock[] blocks, int length) Constructor from large blocksPOIFSDocument(String name, SmallDocumentBlock[] blocks, int length) Constructor from small blocks -
Method Summary
Modifier and TypeMethodDescriptionintReturn the number of BigBlock's this instance usesintProvides a short description of the object, to be used when a POIFSViewable object has not provided its contents.intgetSize()return the array of SmallDocumentBlocks usedObject[]Get an array of objects, some of which may implement POIFSViewableGet an Iterator of objects, some of which may implement POIFSViewablebooleanGive viewers a hint as to whether to call getViewableArray or getViewableIteratorvoidsetStartBlock(int index) Set the start block for this instancevoidwriteBlocks(OutputStream stream) Write the storage to an OutputStream
-
Constructor Details
-
POIFSDocument
Constructor from large blocks- Parameters:
name- the name of the POIFSDocumentblocks- the big blocks making up the POIFSDocumentlength- the actual length of the POIFSDocument- Throws:
IOException
-
POIFSDocument
Constructor from small blocks- Parameters:
name- the name of the POIFSDocumentblocks- the small blocks making up the POIFSDocumentlength- the actual length of the POIFSDocument
-
POIFSDocument
public POIFSDocument(String name, ListManagedBlock[] blocks, int length, int size) throws IOException Constructor from small blocks- Parameters:
name- the name of the POIFSDocumentblocks- the small blocks making up the POIFSDocumentlength- the actual length of the POIFSDocument- Throws:
IOException
-
POIFSDocument
public POIFSDocument(String name, loci.common.RandomAccessInputStream stream, int size) throws IOException Constructor- Parameters:
name- the name of the POIFSDocumentstream- the InputStream we read data from- Throws:
IOException- thrown on read errors
-
POIFSDocument
public POIFSDocument(String name, int size, POIFSDocumentPath path, POIFSWriterListener writer, int blockSize) throws IOException Constructor- Parameters:
name- the name of the POIFSDocumentsize- the length of the POIFSDocumentpath- the path of the POIFSDocumentwriter- the writer who will eventually write the document contents- Throws:
IOException- thrown on read errors
-
-
Method Details
-
getSmallBlocks
return the array of SmallDocumentBlocks used- Returns:
- array of SmallDocumentBlocks; may be empty, cannot be null
-
getBigBlocks
-
getSize
public int getSize()- Returns:
- size of the document
-
getBigBlockSize
public int getBigBlockSize() -
writeBlocks
Write the storage to an OutputStream- Specified by:
writeBlocksin interfaceBlockWritable- Parameters:
stream- the OutputStream to which the stored data should be written- Throws:
IOException- on problems writing to the specified stream
-
countBlocks
public int countBlocks()Return the number of BigBlock's this instance uses- Specified by:
countBlocksin interfaceBATManaged- Returns:
- count of BigBlock instances
-
setStartBlock
public void setStartBlock(int index) Set the start block for this instance- Specified by:
setStartBlockin interfaceBATManaged- Parameters:
index- index into the array of blocks making up the filesystem
-
getViewableArray
Get an array of objects, some of which may implement POIFSViewable- Specified by:
getViewableArrayin interfacePOIFSViewable- Returns:
- an array of Object; may not be null, but may be empty
-
getViewableIterator
Get an Iterator of objects, some of which may implement POIFSViewable- Specified by:
getViewableIteratorin interfacePOIFSViewable- 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:
preferArrayin interfacePOIFSViewable- Returns:
- true if a viewer should call getViewableArray, false if a viewer should call getViewableIterator
-
getShortDescription
Provides a short description of the object, to be used when a POIFSViewable object has not provided its contents.- Specified by:
getShortDescriptionin interfacePOIFSViewable- Returns:
- short description
-