Package org.apache.poi.poifs.property
Class PropertyTable
- java.lang.Object
-
- org.apache.poi.poifs.property.PropertyTable
-
- All Implemented Interfaces:
BATManaged
public final class PropertyTable extends Object implements BATManaged
This class embodies the Property Table for aPOIFSFileSystem
; this is basically the directory for all of the documents in the filesystem and looks up entries in the filesystem to their chain of blocks.
-
-
Constructor Summary
Constructors Constructor Description PropertyTable(HeaderBlock headerBlock)
PropertyTable(HeaderBlock headerBlock, POIFSFileSystem filesystem)
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
write(POIFSStream stream)
Writes the properties out into the given low-level stream
-
-
-
Constructor Detail
-
PropertyTable
public PropertyTable(HeaderBlock headerBlock)
-
PropertyTable
public PropertyTable(HeaderBlock headerBlock, POIFSFileSystem filesystem) 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:
headerBlock
- the header block of the filefilesystem
- the filesystem to read from- 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
-
getStartBlock
public int getStartBlock()
Get the start block for the property table- Returns:
- start block index
-
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 filesystem
-
countBlocks
public int countBlocks()
Return the number of BigBlock's this instance uses- Specified by:
countBlocks
in interfaceBATManaged
- Returns:
- count of BigBlock instances
-
preWrite
public void preWrite()
Prepare to be written
-
write
public void write(POIFSStream stream) throws IOException
Writes the properties out into the given low-level stream- Throws:
IOException
-
-