## org.apache.poi.poifs.property
Class PropertyTableBase

    java.lang.Object
      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
`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

### 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

Copyright 2012 The Apache Software Foundation or its licensors, as applicable.