Methods Summary |
---|
public void | addChild(org.apache.poi.poifs.property.Property property)Add a new child to the collection of children
String name = property.getName();
if (_children_names.contains(name))
{
throw new IOException("Duplicate name \"" + name + "\"");
}
_children_names.add(name);
_children.add(property);
|
public boolean | changeName(org.apache.poi.poifs.property.Property property, java.lang.String newName)Change a Property's name
boolean result;
String oldName = property.getName();
property.setName(newName);
String cleanNewName = property.getName();
if (_children_names.contains(cleanNewName))
{
// revert the change
property.setName(oldName);
result = false;
}
else
{
_children_names.add(cleanNewName);
_children_names.remove(oldName);
result = true;
}
return result;
|
public boolean | deleteChild(org.apache.poi.poifs.property.Property property)Delete a Property
boolean result = _children.remove(property);
if (result)
{
_children_names.remove(property.getName());
}
return result;
|
public java.util.Iterator | getChildren()Get an iterator over the children of this Parent; all elements
are instances of Property.
return _children.iterator();
|
public boolean | isDirectory()
return true;
|
protected void | preWrite()Perform whatever activities need to be performed prior to
writing
if (_children.size() > 0)
{
Property[] children =
( Property [] ) _children.toArray(new Property[ 0 ]);
Arrays.sort(children, new PropertyComparator());
int midpoint = children.length / 2;
setChildProperty(children[ midpoint ].getIndex());
children[ 0 ].setPreviousChild(null);
children[ 0 ].setNextChild(null);
for (int j = 1; j < midpoint; j++)
{
children[ j ].setPreviousChild(children[ j - 1 ]);
children[ j ].setNextChild(null);
}
if (midpoint != 0)
{
children[ midpoint ]
.setPreviousChild(children[ midpoint - 1 ]);
}
if (midpoint != (children.length - 1))
{
children[ midpoint ].setNextChild(children[ midpoint + 1 ]);
for (int j = midpoint + 1; j < children.length - 1; j++)
{
children[ j ].setPreviousChild(null);
children[ j ].setNextChild(children[ j + 1 ]);
}
children[ children.length - 1 ].setPreviousChild(null);
children[ children.length - 1 ].setNextChild(null);
}
else
{
children[ midpoint ].setNextChild(null);
}
}
|