Package loci.poi.poifs.property
Class PropertyTable
- java.lang.Object
-
- loci.poi.poifs.property.PropertyTable
-
- All Implemented Interfaces:
BATManaged
,BlockWritable
public class PropertyTable extends Object implements BATManaged, BlockWritable
This class embodies the Property Table for the filesystem; this is basically the dsirectory for all of the documents in the filesystem.- Author:
- Marc Johnson (mjohnson at apache dot org)
-
-
Constructor Summary
Constructors Constructor Description PropertyTable()
Default constructorPropertyTable(int startBlock, RawDataBlockList blockList)
reading constructor (used when we've read in a file and we want to extract the property table from it).
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addProperty(Property property)
Add a property to the list of properties we manageint
countBlocks()
Return the number of BigBlock's this instance usesRootProperty
getRoot()
Get the root propertyint
getStartBlock()
Get the start block for the property tablevoid
preWrite()
Prepare to be writtenvoid
removeProperty(Property property)
Remove a property from the list of properties we managevoid
setStartBlock(int index)
Set the start block for this instancevoid
writeBlocks(OutputStream stream)
Write the storage to an OutputStream
-
-
-
Constructor Detail
-
PropertyTable
public PropertyTable()
Default constructor
-
PropertyTable
public PropertyTable(int startBlock, RawDataBlockList blockList) throws IOException
reading constructor (used when we've read in a file and we want to extract the property table from it). Populates the properties thoroughly- Parameters:
startBlock
- the first block of the property tableblockList
- the list of blocks- Throws:
IOException
- if anything goes wrong (which should be a result of the input being NFG)
-
-
Method Detail
-
addProperty
public void addProperty(Property property)
Add a property to the list of properties we manage- Parameters:
property
- the new Property to manage
-
removeProperty
public void removeProperty(Property property)
Remove a property from the list of properties we manage- Parameters:
property
- the Property to be removed
-
getRoot
public RootProperty getRoot()
Get the root property- Returns:
- the root property
-
preWrite
public void preWrite()
Prepare to be written
-
getStartBlock
public int getStartBlock()
Get the start block for the property table- Returns:
- start block index
-
countBlocks
public int countBlocks()
Return the number of BigBlock's this instance uses- Specified by:
countBlocks
in interfaceBATManaged
- Returns:
- count of BigBlock instances
-
setStartBlock
public void setStartBlock(int index)
Set the start block for this instance- Specified by:
setStartBlock
in interfaceBATManaged
- Parameters:
index
- index into the array of BigBlock instances making up the the filesystem
-
writeBlocks
public void writeBlocks(OutputStream stream) throws IOException
Write the storage to an OutputStream- Specified by:
writeBlocks
in interfaceBlockWritable
- Parameters:
stream
- the OutputStream to which the stored data should be written- Throws:
IOException
- on problems writing to the specified stream
-
-