org.apache.poi.poifs.property
Class DirectoryProperty

java.lang.Object
  extended by org.apache.poi.poifs.property.Property
      extended by org.apache.poi.poifs.property.DirectoryProperty
All Implemented Interfaces:
java.lang.Iterable<Property>, POIFSViewable, Child, Parent
Direct Known Subclasses:
RootProperty

public class DirectoryProperty
extends Property
implements Parent, java.lang.Iterable<Property>

Directory property


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()
           
 java.util.Iterator<Property> iterator()
          Get an iterator over the children of this Parent, alias for getChildren() which supports foreach use
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

iterator

public java.util.Iterator<Property> iterator()
Get an iterator over the children of this Parent, alias for getChildren() which supports foreach use

Specified by:
iterator in interface java.lang.Iterable<Property>

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