Package loci.poi.poifs.storage
Class DocumentBlock
java.lang.Object
loci.poi.poifs.storage.DocumentBlock
- All Implemented Interfaces:
BlockWritable
A block of document data.
- Author:
- Marc Johnson (mjohnson at apache dot org)
-
Constructor Summary
ConstructorsConstructorDescriptionDocumentBlock(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
Modifier and TypeMethodDescriptionstatic 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(OutputStream stream, byte[] data) Default implementation of write for extending classes that contain their data in a simple array of bytes.intstatic bytebooleanWas 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(OutputStream stream) Write the storage to an OutputStream
-
Constructor Details
-
DocumentBlock
create a document block from a raw data block- Parameters:
block- the raw data blocksize- the block size- Throws:
IOException
-
DocumentBlock
Create a single instance initialized with data.- Parameters:
stream- the InputStream delivering the data.- Throws:
IOException
-
-
Method Details
-
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
Default 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:
IOException- on problems writing to the specified stream.
-
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
-