Package loci.poi.poifs.storage
Class DocumentBlock
- java.lang.Object
-
- loci.poi.poifs.storage.DocumentBlock
-
- All Implemented Interfaces:
BlockWritable
public class DocumentBlock extends java.lang.ObjectA block of document data.- Author:
- Marc Johnson (mjohnson at apache dot org)
-
-
Constructor Summary
Constructors Constructor Description DocumentBlock(loci.common.RandomAccessInputStream stream, int size)Create a single instance initialized with data.DocumentBlock(RawDataBlock block, int size)create a document block from a raw data block
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static DocumentBlock[]convert(long offset, loci.common.RandomAccessInputStream stream, int numBytes, int size, int blockSize)convert a single long array into an array of DocumentBlock instancesprotected voiddoWriteData(java.io.OutputStream stream, byte[] data)Default implementation of write for extending classes that contain their data in a simple array of bytes.intgetBigBlockSize()static bytegetFillByte()booleanpartiallyRead()Was this a partially read block?static voidread(DocumentBlock[] blocks, byte[] buffer, int offset, int blockSize, loci.common.RandomAccessInputStream stream)read data from an array of DocumentBlocksintsize()Get the number of bytes read for this blockvoidwriteBlocks(java.io.OutputStream stream)Write the storage to an OutputStream
-
-
-
Constructor Detail
-
DocumentBlock
public DocumentBlock(RawDataBlock block, int size) throws java.io.IOException
create a document block from a raw data block- Parameters:
block- the raw data blocksize- the block size- Throws:
java.io.IOException
-
DocumentBlock
public DocumentBlock(loci.common.RandomAccessInputStream stream, int size) 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
-
getBigBlockSize
public int getBigBlockSize()
-
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(long offset, loci.common.RandomAccessInputStream stream, int numBytes, int size, int blockSize)
convert a single long array into an array of DocumentBlock instances- Parameters:
offset- the offset into the array of blocks to read fromstream- theRandomAccessInputStreamto read fromsize- the intended size of the array (which may be smaller)numBytes- the number of bytesblockSize- the size of a big block- Returns:
- an array of DocumentBlock instances, filled from the input array
-
read
public static void read(DocumentBlock[] blocks, byte[] buffer, int offset, int blockSize, loci.common.RandomAccessInputStream stream)
read data from an array of DocumentBlocks- Parameters:
blocks- the blocks to read frombuffer- the buffer to write the data intooffset- the offset into the array of blocks to read from
-
doWriteData
protected void doWriteData(java.io.OutputStream stream, byte[] data) throws java.io.IOExceptionDefault implementation of write for extending classes that contain their data in a simple array of bytes.- Parameters:
stream- the OutputStream to which the data should be written.data- the byte array of to be written.- Throws:
java.io.IOException- on problems writing to the specified stream.
-
writeBlocks
public void writeBlocks(java.io.OutputStream stream) throws java.io.IOExceptionWrite the storage to an OutputStream- Specified by:
writeBlocksin interfaceBlockWritable- Parameters:
stream- the OutputStream to which the stored data should be written- Throws:
java.io.IOException- on problems writing to the specified stream
-
-