Class 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()
    Author:
    Marc Johnson (mjohnson at apache dot org)
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected EntryNode​(Property property, DirectoryNode parent)
      create a DocumentNode.
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      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