Class PropertyTable

java.lang.Object
loci.poi.poifs.property.PropertyTable
All Implemented Interfaces:
BATManaged, BlockWritable

public class PropertyTable extends Object implements BATManaged, BlockWritable
This class embodies the Property Table for the filesystem; this is basically the dsirectory for all of the documents in the filesystem.
Author:
Marc Johnson (mjohnson at apache dot org)
  • Constructor Details

    • PropertyTable

      public PropertyTable()
      Default constructor
    • PropertyTable

      public PropertyTable(int startBlock, RawDataBlockList blockList) 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:
      startBlock - the first block of the property table
      blockList - the list of blocks
      Throws:
      IOException - if anything goes wrong (which should be a result of the input being NFG)
  • Method Details

    • 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
    • preWrite

      public void preWrite()
      Prepare to be written
    • getStartBlock

      public int getStartBlock()
      Get the start block for the property table
      Returns:
      start block index
    • countBlocks

      public int countBlocks()
      Return the number of BigBlock's this instance uses
      Specified by:
      countBlocks in interface BATManaged
      Returns:
      count of BigBlock instances
    • 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
    • writeBlocks

      public void writeBlocks(OutputStream stream) throws 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:
      IOException - on problems writing to the specified stream