/** * create a document block from a raw data block * * @param block the raw data block * * @exception IOException */ public DocumentBlock(final RawDataBlock block) throws IOException { super( block.getBigBlockSize() == POIFSConstants.SMALLER_BIG_BLOCK_SIZE ? POIFSConstants.SMALLER_BIG_BLOCK_SIZE_DETAILS : POIFSConstants.LARGER_BIG_BLOCK_SIZE_DETAILS ); _data = block.getData(); _bytes_read = _data.length; }
/** * Get the data from the block * * @return the block's data as a byte array * * @exception IOException if there is no data */ public byte [] getData() throws IOException { if (! hasData()) { throw new IOException("Cannot return empty data"); } return _data; }
RawDataBlock block = new RawDataBlock(stream, bigBlockSize.getBigBlockSize()); if(block.hasData()) { blocks.add(block); if (block.eof()) { break;
/** * Constructor from large blocks * * @param name the name of the POIFSDocument * @param blocks the big blocks making up the POIFSDocument * @param length the actual length of the POIFSDocument */ public POIFSDocument(String name, RawDataBlock[] blocks, int length) throws IOException { _size = length; if(blocks.length == 0) { _bigBigBlockSize = POIFSConstants.SMALLER_BIG_BLOCK_SIZE_DETAILS; } else { _bigBigBlockSize = (blocks[0].getBigBlockSize() == POIFSConstants.SMALLER_BIG_BLOCK_SIZE ? POIFSConstants.SMALLER_BIG_BLOCK_SIZE_DETAILS : POIFSConstants.LARGER_BIG_BLOCK_SIZE_DETAILS ); } _big_store = new BigBlockStore(_bigBigBlockSize, convertRawBlocksToBigBlocks(blocks)); _property = new DocumentProperty(name, _size); _small_store = new SmallBlockStore(_bigBigBlockSize, EMPTY_SMALL_BLOCK_ARRAY); _property.setDocument(this); }
RawDataBlock block = new RawDataBlock(stream, bigBlockSize.getBigBlockSize()); if(block.hasData()) { blocks.add(block); if (block.eof()) { break;
/** * Constructor from large blocks * * @param name the name of the POIFSDocument * @param blocks the big blocks making up the POIFSDocument * @param length the actual length of the POIFSDocument */ public POIFSDocument(String name, RawDataBlock[] blocks, int length) throws IOException { _size = length; if(blocks.length == 0) { _bigBigBlockSize = POIFSConstants.SMALLER_BIG_BLOCK_SIZE_DETAILS; } else { _bigBigBlockSize = (blocks[0].getBigBlockSize() == POIFSConstants.SMALLER_BIG_BLOCK_SIZE ? POIFSConstants.SMALLER_BIG_BLOCK_SIZE_DETAILS : POIFSConstants.LARGER_BIG_BLOCK_SIZE_DETAILS ); } _big_store = new BigBlockStore(_bigBigBlockSize, convertRawBlocksToBigBlocks(blocks)); _property = new DocumentProperty(name, _size); _small_store = new SmallBlockStore(_bigBigBlockSize, EMPTY_SMALL_BLOCK_ARRAY); _property.setDocument(this); }
/** * create a document block from a raw data block * * @param block the raw data block * * @exception IOException */ public DocumentBlock(final RawDataBlock block) throws IOException { super( block.getBigBlockSize() == POIFSConstants.SMALLER_BIG_BLOCK_SIZE ? POIFSConstants.SMALLER_BIG_BLOCK_SIZE_DETAILS : POIFSConstants.LARGER_BIG_BLOCK_SIZE_DETAILS ); _data = block.getData(); _bytes_read = _data.length; }
/** * Get the data from the block * * @return the block's data as a byte array * * @exception IOException if there is no data */ public byte [] getData() throws IOException { if (! hasData()) { throw new IOException("Cannot return empty data"); } return _data; }