Package loci.poi.poifs.storage
Class HeaderBlockWriter
- java.lang.Object
-
- loci.poi.poifs.storage.HeaderBlockWriter
-
- All Implemented Interfaces:
BlockWritable,HeaderBlockConstants
public class HeaderBlockWriter extends java.lang.Object implements HeaderBlockConstants
The block containing the archive header- Author:
- Marc Johnson (mjohnson at apache dot org)
-
-
Field Summary
-
Fields inherited from interface loci.poi.poifs.storage.HeaderBlockConstants
_bat_array_offset, _bat_count_offset, _property_start_offset, _sbat_block_count_offset, _sbat_start_offset, _signature, _signature_offset, _xbat_count_offset, _xbat_start_offset
-
-
Constructor Summary
Constructors Constructor Description HeaderBlockWriter(int blockSize)Create a single instance initialized with default values
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected 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()BATBlock[]setBATBlocks(int blockCount, int startBlock, int size)Set BAT block parameters.voidsetPropertyStart(int startBlock)Set start of Property TablevoidsetSBATBlockCount(int count)Set count of SBAT blocksvoidsetSBATStart(int startBlock)Set start of small block allocation tablevoidwriteBlocks(java.io.OutputStream stream)Write the storage to an OutputStream
-
-
-
Method Detail
-
getBigBlockSize
public int getBigBlockSize()
-
setBATBlocks
public BATBlock[] setBATBlocks(int blockCount, int startBlock, int size)
Set BAT block parameters. Assumes that all BAT blocks are contiguous. Will construct XBAT blocks if necessary and return the array of newly constructed XBAT blocks.- Parameters:
blockCount- count of BAT blocksstartBlock- index of first BAT block- Returns:
- array of XBAT blocks; may be zero length, will not be null
-
setPropertyStart
public void setPropertyStart(int startBlock)
Set start of Property Table- Parameters:
startBlock- the index of the first block of the Property Table
-
setSBATStart
public void setSBATStart(int startBlock)
Set start of small block allocation table- Parameters:
startBlock- the index of the first big block of the small block allocation table
-
setSBATBlockCount
public void setSBATBlockCount(int count)
Set count of SBAT blocks- Parameters:
count- the number of SBAT blocks
-
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
-
-