org.apache.poi.poifs.storage
Class DocumentBlock

java.lang.Object
  extended by org.apache.poi.poifs.storage.DocumentBlock
All Implemented Interfaces:
BlockWritable

public final class DocumentBlock
extends java.lang.Object

A block of document data.

Author:
Marc Johnson (mjohnson at apache dot org)

Constructor Summary
DocumentBlock(java.io.InputStream stream, POIFSBigBlockSize bigBlockSize)
          Create a single instance initialized with data.
DocumentBlock(RawDataBlock block)
          create a document block from a raw data block
 
Method Summary
static DocumentBlock[] convert(POIFSBigBlockSize bigBlockSize, byte[] array, int size)
          convert a single long array into an array of DocumentBlock instances
static DataInputBlock getDataInputBlock(DocumentBlock[] blocks, int offset)
           
static byte getFillByte()
           
 boolean partiallyRead()
          Was this a partially read block?
 int size()
          Get the number of bytes read for this block
 void writeBlocks(java.io.OutputStream stream)
          Write the storage to an OutputStream
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DocumentBlock

public DocumentBlock(RawDataBlock block)
              throws java.io.IOException
create a document block from a raw data block

Parameters:
block - the raw data block
Throws:
java.io.IOException

DocumentBlock

public DocumentBlock(java.io.InputStream stream,
                     POIFSBigBlockSize bigBlockSize)
              throws java.io.IOException
Create a single instance initialized with data.

Parameters:
stream - the InputStream delivering the data.
Throws:
java.io.IOException
Method Detail

size

public int size()
Get the number of bytes read for this block

Returns:
bytes read into the block

partiallyRead

public boolean partiallyRead()
Was this a partially read block?

Returns:
true if the block was only partially filled with data

getFillByte

public static byte getFillByte()
Returns:
the fill byte used

convert

public static DocumentBlock[] convert(POIFSBigBlockSize bigBlockSize,
                                      byte[] array,
                                      int size)
convert a single long array into an array of DocumentBlock instances

Parameters:
array - the byte array to be converted
size - the intended size of the array (which may be smaller)
Returns:
an array of DocumentBlock instances, filled from the input array

getDataInputBlock

public static DataInputBlock getDataInputBlock(DocumentBlock[] blocks,
                                               int offset)

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