FileDocCategorySizeDatePackage
EntryNode.javaAPI DocApache Poi 3.0.14885Mon Jan 01 12:39:34 GMT 2007org.apache.poi.poifs.filesystem

EntryNode

public abstract class EntryNode extends Object implements Entry
Abstract implementation of Entry Extending classes should override isDocument() or isDirectory(), as appropriate Extending classes must override isDeleteOK()
author
Marc Johnson (mjohnson at apache dot org)

Fields Summary
private Property
_property
private DirectoryNode
_parent
Constructors Summary
protected EntryNode(Property property, DirectoryNode parent)
create a DocumentNode. This method is not public by design; it is intended strictly for the internal use of extending classes

param
property the Property for this Entry
param
parent the parent of this entry

        _property = property;
        _parent   = parent;
    
Methods Summary
public booleandelete()
Delete this Entry. This operation should succeed, but there are special circumstances when it will not: If this Entry is the root of the Entry tree, it cannot be deleted, as there is no way to create another one. If this Entry is a directory, it cannot be deleted unless it is empty.

return
true if the Entry was successfully deleted, else false

        boolean rval = false;

        if ((!isRoot()) && isDeleteOK())
        {
            rval = _parent.deleteEntry(this);
        }
        return rval;
    
public java.lang.StringgetName()
get the name of the Entry

return
name

        return _property.getName();
    
public org.apache.poi.poifs.filesystem.DirectoryEntrygetParent()
get this Entry's parent (the DocumentEntry that owns this Entry). All Entry objects, except the root Entry, has a parent.

return
this Entry's parent; null iff this is the root Entry

        return _parent;
    
protected org.apache.poi.poifs.property.PropertygetProperty()
grant access to the property

return
the property backing this entry

        return _property;
    
protected abstract booleanisDeleteOK()
extensions use this method to verify internal rules regarding deletion of the underlying store.

return
true if it's ok to delete the underlying store, else false

public booleanisDirectoryEntry()
is this a DirectoryEntry?

return
true if the Entry is a DirectoryEntry, else false

        return false;
    
public booleanisDocumentEntry()
is this a DocumentEntry?

return
true if the Entry is a DocumentEntry, else false

        return false;
    
protected booleanisRoot()
is this the root of the tree?

return
true if so, else false


        // only the root Entry has no parent ...
        return (_parent == null);
    
public booleanrenameTo(java.lang.String newName)
Rename this Entry. This operation will fail if: There is a sibling Entry (i.e., an Entry whose parent is the same as this Entry's parent) with the same name. This Entry is the root of the Entry tree. Its name is dictated by the Filesystem and many not be changed.

param
newName the new name for this Entry
return
true if the operation succeeded, else false

        boolean rval = false;

        if (!isRoot())
        {
            rval = _parent.changeName(getName(), newName);
        }
        return rval;