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

    java.lang.Object
      org.apache.poi.poifs.property.PropertyTableBase
          org.apache.poi.poifs.property.PropertyTable

All Implemented Interfaces:
  BATManaged, BlockWritable

    public final class PropertyTable

extends PropertyTableBase
implements BlockWritable

This class embodies the Property Table for the `POIFSFileSystem`; this is basically the directory for all of the documents in the filesystem.

Author:
  Marc Johnson (mjohnson at apache dot org)

Field Summary

Fields inherited from class org.apache.poi.poifs.property.PropertyTableBase
`_properties`

Constructor Summary
`PropertyTable(HeaderBlock headerBlock)`
`PropertyTable(HeaderBlock headerBlock, RawDataBlockList blockList)` reading constructor (used when we've read in a file and we want to extract the property table from it).

Method Summary
`int` `countBlocks()` Return the number of BigBlock's this instance uses
`void` `preWrite()` Prepare to be written
`void` `writeBlocks(java.io.OutputStream stream)` Write the storage to an OutputStream

Methods inherited from class org.apache.poi.poifs.property.PropertyTableBase
`addProperty, getRoot, getStartBlock, removeProperty, setStartBlock`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### PropertyTable

    public PropertyTable(HeaderBlock headerBlock)

### PropertyTable

    public PropertyTable(HeaderBlock headerBlock,
                         RawDataBlockList blockList)
                  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:
    `headerBlock` - the header block of the file
    `blockList` - the list of blocks
  Throws:
    `java.io.IOException` - if anything goes wrong (which should be a result of the input being NFG)

Method Detail

### preWrite

    public void preWrite()

  Prepare to be written

### countBlocks

    public int countBlocks()

  Return the number of BigBlock's this instance uses

  Specified by:
    `countBlocks` in interface `BATManaged`
  Returns:
    count of BigBlock instances

### writeBlocks

    public void writeBlocks(java.io.OutputStream stream)
                     throws java.io.IOException

  Write the storage to an OutputStream

  Specified by:
    `writeBlocks` in interface `BlockWritable`
  Parameters:
    `stream` - the OutputStream to which the stored data should be written
  Throws:
    `java.io.IOException` - on problems writing to the specified stream

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