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 voidaddProperty(Property property)Add a property to the list of properties we manageintcountBlocks()Return the number of BigBlock's this instance usesRootPropertygetRoot()Get the root propertyintgetStartBlock()Get the start block for the property tablevoidpreWrite()Prepare to be writtenvoidremoveProperty(Property property)Remove a property from the list of properties we managevoidsetStartBlock(int index)Set the start block for this instancevoidwrite(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:
setStartBlockin 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:
countBlocksin 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
-
-