org.apache.poi.poifs.property
Class PropertyTableBase

java.lang.Object
  extended by org.apache.poi.poifs.property.PropertyTableBase
All Implemented Interfaces:
BATManaged
Direct Known Subclasses:
NPropertyTable, PropertyTable

public abstract class PropertyTableBase
extends java.lang.Object
implements BATManaged

This class embodies the Property Table for the filesystem, which looks up entries in the filesystem to their chain of blocks. This is the core support, there are implementations for the different block schemes as needed.


Field Summary
protected  java.util.List<Property> _properties
           
 
Constructor Summary
PropertyTableBase(HeaderBlock header_block)
           
PropertyTableBase(HeaderBlock header_block, java.util.List<Property> properties)
          Reading constructor (used when we've read in a file and we want to extract the property table from it).
 
Method Summary
 void addProperty(Property property)
          Add a property to the list of properties we manage
 RootProperty getRoot()
          Get the root property
 int getStartBlock()
          Get the start block for the property table
protected  boolean isValidIndex(int index)
           
 void removeProperty(Property property)
          Remove a property from the list of properties we manage
 void setStartBlock(int index)
          Set the start block for this instance
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.poi.poifs.filesystem.BATManaged
countBlocks
 

Field Detail

_properties

protected final java.util.List<Property> _properties
Constructor Detail

PropertyTableBase

public PropertyTableBase(HeaderBlock header_block)

PropertyTableBase

public PropertyTableBase(HeaderBlock header_block,
                         java.util.List<Property> properties)
                  throws java.io.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:
header_block - the first block to read from
properties - the list to populate
Throws:
java.io.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

isValidIndex

protected boolean isValidIndex(int index)

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 interface BATManaged
Parameters:
index - index into the array of BigBlock instances making up the the filesystem