Interface HippoNode

All Superinterfaces:
Item, Node

public interface HippoNode extends Node
Any Node instance returned by any method of a Hippo Repostitory may be cast to the HippoNode interface to expose additional functionality.
  • Method Details

    • getDisplayName

      String getDisplayName() throws RepositoryException
      Obtain a display name for this node. If not available falls back on Item.getName(). If display name is available the result is the same as calling getProperty("hippo:name").getString(). If this node does not have a display name but is a child node of a hippo:handle node having a display name, the display name of the parent handle node will be returned.
      Returns:
      the display name for this node if available, otherwise the JCR name of this node.
      Throws:
      RepositoryException
    • getCanonicalNode

      Node getCanonicalNode() throws ItemNotFoundException, RepositoryException
      Get the most accurate and complete version available of the information represented in the current node. Certain operations are only allowed on the most complete version of a node, rather than on any presentation of the node.
      Returns:
      the node with the most accurate representation of this node, may be nonsense if there is no sensible canonical version available
      Throws:
      ItemNotFoundException - indicates the canonical node is no longer available
      RepositoryException - indicates a generic unspecified repository error
    • pendingChanges

      NodeIterator pendingChanges(String nodeType, boolean prune) throws NamespaceException, NoSuchNodeTypeException, RepositoryException
      Obtains an iterator over the set of nodes that potentially contain changes, starting (and not including) this node. Only nodes for which Node.isNodeType(nodeType) returns true are included in the resulting set. If the prune boolean value is true, then the nodes matching in the hierarchy first are returned. If matching modified node exists beneath the nodes, these are not included.
      Parameters:
      nodeType - Only nodes that are (derived) of this nodeType are included in the result
      prune - Whether only to return the first matching modified node in a subtree (true), or provide a depth search for all modified nodes (false)
      Returns:
      A NodeIterator instance which iterates over all modified nodes, not including this node
      Throws:
      NamespaceException - indicates an invalid nodeType parameter
      NoSuchNodeTypeException - indicates an invalid nodeType parameter
      RepositoryException - indicates a generic unspecified repository error
      See Also:
    • pendingChanges

      Conveniance method for pendingChanges(nodeType,false)
      Parameters:
      nodeType - Only nodes that are (derived) of this nodeType are included in the result
      Returns:
      A NodeIterator instance which iterates over all modified nodes, not including the passed node
      Throws:
      NamespaceException - indicates an invalid nodeType parameter
      RepositoryException - indicates a generic unspecified repository error
      NoSuchNodeTypeException - indicates an invalid nodeType parameter
      See Also:
    • pendingChanges

      NodeIterator pendingChanges() throws RepositoryException
      Conveniance method for pendingChanges("nt:base", false)
      Returns:
      A NodeIterator instance which iterates over all modified nodes, not including the passed node
      Throws:
      RepositoryException - indicates a generic unspecified repository error
      See Also:
    • isVirtual

      boolean isVirtual() throws RepositoryException
      Whether this is a virtual node or not.
      Returns:
      whether this is a virtual node or not.
      Throws:
      RepositoryException
    • recomputeDerivedData

      boolean recomputeDerivedData() throws RepositoryException
      Some operations may leave some nodes' derived data stale. With this method the derived data of a node is made up to date.
      Returns:
      whether the node was changed during the recomputation
      Throws:
      RepositoryException