Class EntryNode

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

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)
  • Constructor Details

    • 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 Details

    • 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 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(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