org.apache.poi.poifs.filesystem
Class EntryNode

java.lang.Object
  extended by org.apache.poi.poifs.filesystem.EntryNode
All Implemented Interfaces:
Entry
Direct Known Subclasses:
DirectoryNode, DocumentNode

public abstract class EntryNode
extends java.lang.Object
implements Entry

Abstract implementation of Entry Extending classes should override isDocument() or isDirectory(), as appropriate Extending classes must override isDeleteOK()


Constructor Summary
protected EntryNode(Property property, DirectoryNode parent)
          create a DocumentNode.
 
Method Summary
 boolean delete()
          Delete this Entry.
 java.lang.String getName()
          get the name of the Entry
 DirectoryEntry getParent()
          get this Entry's parent (the DocumentEntry that owns this Entry).
protected  Property getProperty()
          grant access to the property
protected abstract  boolean isDeleteOK()
          extensions use this method to verify internal rules regarding deletion of the underlying store.
 boolean isDirectoryEntry()
          is this a DirectoryEntry?
 boolean isDocumentEntry()
          is this a DocumentEntry?
protected  boolean isRoot()
          is this the root of the tree?
 boolean renameTo(java.lang.String newName)
          Rename this Entry.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

EntryNode

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

Parameters:
property - the Property for this Entry
parent - the parent of this entry
Method Detail

getProperty

protected Property getProperty()
grant access to the property

Returns:
the property backing this entry

isRoot

protected boolean isRoot()
is this the root of the tree?

Returns:
true if so, else false

isDeleteOK

protected abstract boolean isDeleteOK()
extensions use this method to verify internal rules regarding deletion of the underlying store.

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

getName

public java.lang.String getName()
get the name of the Entry

Specified by:
getName in interface Entry
Returns:
name

isDirectoryEntry

public boolean isDirectoryEntry()
is this a DirectoryEntry?

Specified by:
isDirectoryEntry in interface Entry
Returns:
true if the Entry is a DirectoryEntry, else false

isDocumentEntry

public boolean isDocumentEntry()
is this a DocumentEntry?

Specified by:
isDocumentEntry in interface Entry
Returns:
true if the Entry is a DocumentEntry, else false

getParent

public DirectoryEntry getParent()
get this Entry's parent (the DocumentEntry that owns this Entry). All Entry objects, except the root Entry, has a parent.

Specified by:
getParent in interface Entry
Returns:
this Entry's parent; null iff this is the root Entry

delete

public boolean delete()
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.

Specified by:
delete in interface Entry
Returns:
true if the Entry was successfully deleted, else false

renameTo

public boolean renameTo(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.

Specified by:
renameTo in interface Entry
Parameters:
newName - the new name for this Entry
Returns:
true if the operation succeeded, else false