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

    java.lang.Object
      org.apache.poi.poifs.property.Property
          org.apache.poi.poifs.property.DirectoryProperty

All Implemented Interfaces:
  POIFSViewable, Child, Parent

Direct Known Subclasses:
  RootProperty

    public class DirectoryProperty

extends Property
implements Parent

Directory property

Author:
  Marc Johnson (mjohnson at apache dot org)

Nested Class Summary
`static class` `DirectoryProperty.PropertyComparator`

Field Summary

Fields inherited from class org.apache.poi.poifs.property.Property
`_NO_INDEX, _NODE_BLACK, _NODE_RED`

Constructor Summary
`protected` `DirectoryProperty(int index, byte[] array, int offset)` reader constructor
`` `DirectoryProperty(java.lang.String name)` Default constructor

Method Summary
`void` `addChild(Property property)` Add a new child to the collection of children
`boolean` `changeName(Property property, java.lang.String newName)` Change a Property's name
`boolean` `deleteChild(Property property)` Delete a Property
`java.util.Iterator<Property>` `getChildren()` Get an iterator over the children of this Parent; all elements are instances of Property.
`boolean` `isDirectory()`
`protected void` `preWrite()` Perform whatever activities need to be performed prior to writing

Methods inherited from class org.apache.poi.poifs.property.Property
`getChildIndex, getIndex, getName, getNextChild, getPreviousChild, getShortDescription, getSize, getStartBlock, getStorageClsid, getViewableArray, getViewableIterator, isSmall, preferArray, setChildProperty, setIndex, setName, setNextChild, setNodeColor, setPreviousChild, setPropertyType, setSize, setStartBlock, setStorageClsid, shouldUseSmallBlocks, writeData`

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.property.Parent
`setNextChild, setPreviousChild`

Methods inherited from interface org.apache.poi.poifs.property.Child
`getNextChild, getPreviousChild`

Constructor Detail

### DirectoryProperty

    public DirectoryProperty(java.lang.String name)

  Default constructor

  Parameters:
    `name` - the name of the directory

### DirectoryProperty

    protected DirectoryProperty(int index,
                                byte[] array,
                                int offset)

  reader constructor

  Parameters:
    `index` - index number
    `array` - byte data
    `offset` - offset into byte data

Method Detail

### changeName

    public boolean changeName(Property property,
                              java.lang.String newName)

  Change a Property's name

  Parameters:
    `property` - the Property whose name is being changed
    `newName` - the new name for the Property
  Returns:
    true if the name change could be made, else false

### deleteChild

    public boolean deleteChild(Property property)

  Delete a Property

  Parameters:
    `property` - the Property being deleted
  Returns:
    true if the Property could be deleted, else false

### isDirectory

    public boolean isDirectory()

  Specified by:
    `isDirectory` in class `Property`
  Returns:
    true if a directory type Property

### preWrite

    protected void preWrite()

  Perform whatever activities need to be performed prior to writing

  Specified by:
    `preWrite` in class `Property`

### getChildren

    public java.util.Iterator<Property> getChildren()

  Get an iterator over the children of this Parent; all elements are instances of Property.

  Specified by:
    `getChildren` in interface `Parent`
  Returns:
    Iterator of children; may refer to an empty collection

### addChild

    public void addChild(Property property)
                  throws java.io.IOException

  Add a new child to the collection of children

  Specified by:
    `addChild` in interface `Parent`
  Parameters:
    `property` - the new child to be added; must not be null
  Throws:
    `java.io.IOException` - if we already have a child with the same name

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