com.bea.content.spi
Interface NodeOps

All Superinterfaces
Serializable
All Known Subinterfaces:
ExtendedNodeOps

Deprecated As of 10.2, replaced by NodeOpsV1. The SPI interfaces in the com.bea.content.spi package have all been deprecated as of 10.2. Oracle does not intend to remove these interfaces during the next major release of WebLogic Portal. However, please note that new development should take place using the com.bea.content.spi.flexspi interfaces going forward.

@Deprecated
public interface NodeOps
extends Serializable

NodeOps is a service for Node CRUD operations. It is used to manage nodes, including their Properties, in a content repository.

NodeOps rules are defined below.

All nodes are uniquely identified through:

  • 1) their ID, which contains the uid that uniquely identifies it within the repository. This uid may be the path, a database id, etc.
  • 2) their path that uniquely identifies it within a repository. The path should be in unix-like format such as /a/b/c where / is the root and a is the root's child. The path must always begin with / and never end with it. So neither of the following are valid: a/b/c/d or /a/b/d/d/.

    All Properties are identified through their ID, which includes the uid that uniquely identifies the Property in the repository.

    A Node may either be a Content Node or a Hierarchy Node as defined by its type. A Hierarchy Node may contain both Hierarchy and Content Nodes, but a Conent Node may only contain other Content Nodes.

    Node names must not contain either forward, or backslashes.

    If a node contains an ObjectClass, it will also contain a Property for each PropertyDefinition of its ObjectClass and each Property will be in the shape as defined by its corresponding PropertyDefinition.

    Most operations use ID objects as parameters. Whenever an ID is used, it must not be null. The uid may be null when dealing with root. For example a call to getNodeChildren(ID id) with a correct repository name and a null uid will return all Nodes at root for that repository. It may also be null on create operations, in which the uid has not been created yet, but will be created and returned by the repository.

    The repository implementation may have more specific validation rules than that defined above. If a repository considers an attempted operation invalid, it will throw a RepositoryException.

    If a Node has an ObjectClass associated with it, whenever it is retrieved it must contain the ObjectClass. However, the Node Properties need not be present as they may be lazy loaded by the call to getProperties() on the Node. For the getNode implementations, it is best to initially set the Properties on the return.

    See Also
    ExtendedNodeOps

    Method Summary
     Node addNodeContent(ID nodeId, ID objectClassId, Property[] properties)
              Deprecated Updates the node with the given id to contain the given objectClass and properties (content and meta-content).
     Node copyNode(ID sourceId, ID destinationId)
              Deprecated This method copies a Node to a new location in the hierarchy along with all its descendants.
     Node createNode(ID parentId, String newNodeName, int type)
              Deprecated This method creates a new Node underneath the parent.
     Node createNode(ID parentId, String newNodeName, int type, ID objectClassId, Property[] properties)
              Deprecated This method creates a new Node underneath the parent.
     void deleteNode(ID nodeId)
              Deprecated This method performs a full cascade delete on a Node.
     Node getNode(ID nodeId)
              Deprecated This method gets a particular Node based on its id.
     Node getNode(String path)
              Deprecated This method gets a particular Node based on its path.
     Node[] getNodeChildren(ID parentId, int type)
              Deprecated This method returns an array of all children Nodes for the parent Node.
     Node[] getNodes(ID[] nodeIds)
              Deprecated This method gets the Node for each node ID passed in.
     Property[] getProperties(ID nodeId)
              Deprecated Gets all Properties for a Node.
     InputStream getPropertyBytes(ID propertyId)
              Deprecated Gets the Binary data for the given Property Id.
     Node moveNode(ID sourceId, ID destinationId)
              Deprecated This method moves a Node to a new location in the hierarchy along with all its descendants.
     Node removeNodeContent(ID nodeId)
              Deprecated Removes the ObjectClass reference from the given Node and deletes the Node's properties.
     Node renameNode(ID nodeId, String newName)
              Deprecated This method renames a node and implicitly all of its descendants paths.
     Node updateProperties(ID nodeId, Property[] properties)
              Deprecated Updates the node with the given id with the given properties.
     

    Method Detail

    createNode

    Node createNode(ID parentId,
                    String newNodeName,
                    int type)
                    throws AuthorizationException,
                           NodeExistsException,
                           RepositoryException
    Deprecated 
    This method creates a new Node underneath the parent. If the parentId's uid is null then the new Node is created under root.

    Parameters
    parentId - - the id for the parent of the node. The uid is null if the parent is root.
    newNodeName - - the name of Node to create.
    type - - the type of the node, either Node.HIERARCHY or #CONTENT. Use of Node.HIERARCHY and Node.CONTENT will be deprecated in future releases.
    Returns
    the newly created node.
    Throws
    AuthorizationException - - if the user attempting the operation is not authorized to perform it.
    NodeExistsException - - if the name for the node already exists as a child of the parent.
    RepositoryException - - if validation error occurs.

    createNode

    Node createNode(ID parentId,
                    String newNodeName,
                    int type,
                    ID objectClassId,
                    Property[] properties)
                    throws AuthorizationException,
                           NodeExistsException,
                           NoSuchObjectClassException,
                           RepositoryException
    Deprecated 
    This method creates a new Node underneath the parent. If the parent uid is null then the new Node is created under root. It associates the ObjectClass with the given id to the new Node and adds the given properties (content and meta-content) to the Node. If there is a PropertyDefintion in the given ObjectClass with no corresponding Property in the properties array a Property will be created with a null value, unless the Property is required, in which case a validation exception will be thrown.

    Parameters
    parentId - - the id for the parent of the node. The parentId's uid is null if the parent is root.
    newNodeName - - the name of Node to create.
    type - - the type of the node, either Node.HIERARCHY or #CONTENT. Use of Node.HIERARCHY and Node.CONTENT will be deprecated in future releases.
    objectClassId - The ID of the ObjectClass to use. This can be null, meaning there is no type associated with the node. Without a type, the node cannot have properties.
    properties - The properties (and values) of the node. This can be null, even if the 'objectClassId' is non-null.
    Returns
    the newly created Node.
    Throws
    AuthorizationException
    NodeExistsException - - if the parent Node already has a child with the same name.
    NoSuchObjectClassException - - if the ObjectClass doesn't exist.
    RepositoryException - - if a validation error occurs.

    getNode

    Node getNode(ID nodeId)
                 throws AuthorizationException,
                        NoSuchNodeException
    Deprecated 
    This method gets a particular Node based on its id. If there is an ObjectClass associated with it then it along with the Node Properties should be contained in the Node.

    Parameters
    nodeId - - the id for the node to get.
    Returns
    the retrieved Node.
    Throws
    AuthorizationException - - if the user attempting the operation is not authorized to perform it.
    NoSuchNodeException - - if the node to get can't be found.

    getNode

    Node getNode(String path)
                 throws AuthorizationException,
                        NoSuchNodeException
    Deprecated 
    This method gets a particular Node based on its path. If there is an ObjectClass associated with it then it along with the Node Properties should be contained in the Node.

    Parameters
    path - - the path for the node to get.
    Returns
    the retrieved Node.
    Throws
    AuthorizationException - - if the user attempting the operation is not authorized to perform it.
    NoSuchNodeException - - if the node to get can't be found.

    getNodes

    Node[] getNodes(ID[] nodeIds)
                    throws AuthorizationException,
                           NoSuchNodeException
    Deprecated 
    This method gets the Node for each node ID passed in. If the current credential is not allowed access to a particular node, then there may be a null in the returned array at that nodes place.

    Parameters
    nodeIds - - the Node IDs to retrieve the Nodes for.
    Returns
    the retrieved Nodes.
    Throws
    AuthorizationException - - if the user attempting the operation is not authorized to perform it.
    NoSuchNodeException - - if a node to get can't be found.

    getNodeChildren

    Node[] getNodeChildren(ID parentId,
                           int type)
                           throws AuthorizationException,
                                  NoSuchNodeException
    Deprecated 
    This method returns an array of all children Nodes for the parent Node.

    Parameters
    parentId - - the Node which may have children
    type - - the type of children to return, either Node.HIERARCHY, #CONTENT or Node.NODE. If the type is Node.NODE then all children (both Node.HIERARCHY and #CONTENT will be returned. Use of Node.HIERARCHY and Node.CONTENT will be deprecated in future releases.
    Returns
    one Node per child of the parent, or empty array if the Node has no children.
    Throws
    AuthorizationException - - if the user attempting the operation is not authorized to perform it.
    NoSuchNodeException - - if the parent node can't be found.

    deleteNode

    void deleteNode(ID nodeId)
                    throws AuthorizationException,
                           NoSuchNodeException,
                           RepositoryException
    Deprecated 
    This method performs a full cascade delete on a Node. As such, the node - all its descendant Nodes and each Nodes Properties are removed in the process.

    Parameters
    nodeId - - the id of the Node to be deleted
    Throws
    AuthorizationException - - if the user attempting the operation is not authorized to perform it.
    NoSuchNodeException - - if the node to delete can't be found.
    RepositoryException - - if validation error occurs.

    moveNode

    Node moveNode(ID sourceId,
                  ID destinationId)
                  throws AuthorizationException,
                         NodeExistsException,
                         NoSuchNodeException,
                         RepositoryException
    Deprecated 
    This method moves a Node to a new location in the hierarchy along with all its descendants.

    A Hierarchy Node may only be moved under another Hierarchy Node. The parent id for the source node will be changed, but all descendants of the source node will keep their parent relationships intact.

    If the uid is null for the destinationId, the desination will be the repository root.

    Parameters
    sourceId - - the id of the Node to be moved
    destinationId - - the id of the Node under which the sourceId Node is moved
    Returns
    the moved Node, with a new path
    Throws
    AuthorizationException - - if the user attempting the operation is not authorized to perform it.
    NodeExistsException - - if attempting to move a Node to a path that already exists.
    NoSuchNodeException - - if the source or destination node can't be found.
    RepositoryException - - if validation error occurs.

    copyNode

    Node copyNode(ID sourceId,
                  ID destinationId)
                  throws AuthorizationException,
                         NoSuchNodeException,
                         RepositoryException
    Deprecated 
    This method copies a Node to a new location in the hierarchy along with all its descendants.

    Each Node will get a new Id, parent id and new Properties.

    If the uid is null for the destinationId, the desination will be the repository root.

    Parameters
    sourceId - - the id of the Node to be copied
    destinationId - - the id of the Node under which the sourceId Node is copied
    Returns
    the copied Node, with a new path
    Throws
    AuthorizationException - - if the user attempting the operation is not authorized to perform it.
    NoSuchNodeException - - if the source or destination node can't be found.
    RepositoryException - - if validation error occurs.

    renameNode

    Node renameNode(ID nodeId,
                    String newName)
                    throws AuthorizationException,
                           NoSuchNodeException,
                           NodeExistsException,
                           RepositoryException
    Deprecated 
    This method renames a node and implicitly all of its descendants paths. A Node may not be renamed to a Node name that exists at the same level in the hierarchy.

    Parameters
    nodeId - - the id for the node to rename
    newName - - a String for the new node name
    Returns
    the renamed Node
    Throws
    AuthorizationException - - if the user attempting the operation is not authorized to perform it.
    NoSuchNodeException - - if the node to rename can't be found.
    NodeExistsException - - if the newName already exists as a sibling.
    RepositoryException - - if validation error occurs.

    addNodeContent

    Node addNodeContent(ID nodeId,
                        ID objectClassId,
                        Property[] properties)
                        throws AuthorizationException,
                               NoSuchObjectClassException,
                               NoSuchNodeException,
                               RepositoryException
    Deprecated 
    Updates the node with the given id to contain the given objectClass and properties (content and meta-content). If the node already has an ObjectClass and properties, they will be replaced. If there is a PropertyDefintion in the given ObjectClass with no corresponding Property in the properties array a Property will be created with a null value, unless the Property is required, in which case a validation exception will be thrown.

    Parameters
    nodeId - - the ID for the node to update.
    objectClassId - The ID of the ObjectClass to use. This can be null, meaning there is no type associated with the node. Without a type, the node cannot have properties.
    properties - The properties (and values) of the node. This can be null, even if the 'objectClassId' is non-null.
    Returns
    the updated Node.
    Throws
    AuthorizationException - - if the user attempting the operation is not authorized to perform it.
    NoSuchObjectClassException - thrown if the ObjectClass to set on the Node does not exist.
    NoSuchNodeException - - if the Node to update does not exist.
    RepositoryException - - if validation error occurs.

    updateProperties

    Node updateProperties(ID nodeId,
                          Property[] properties)
                          throws AuthenticationException,
                                 AuthorizationException,
                                 NoSuchNodeException,
                                 NoSuchPropertyException,
                                 RepositoryException
    Deprecated 
    Updates the node with the given id with the given properties. The node must already have a ObjectClass and valid properties associated with it. All Properties are validated against their respective PropertyDefinition.

    Parameters
    nodeId - - the ID of the node to update. The ID must include the repositoryName.
    properties - - the properties to update on the Node.
    Returns
    the updated Node.
    Throws
    AuthenticationException - - if the user attempting the operation isn't authenticated against the repository.
    AuthorizationException - - if the user attempting the operation is not authorized to perform it.
    NoSuchNodeException - - if the Node to update does not exist.
    NoSuchPropertyException - - if a Property does not exist on the Node.
    RepositoryException - - if system or validation error occurs.

    removeNodeContent

    Node removeNodeContent(ID nodeId)
                           throws AuthorizationException,
                                  NoSuchNodeException,
                                  RepositoryException
    Deprecated 
    Removes the ObjectClass reference from the given Node and deletes the Node's properties.

    Parameters
    nodeId - - the id for the Node to remove the ObjectClass from.
    Returns
    the updated Node.
    Throws
    AuthorizationException - - if the user attempting the operation is not authorized to perform it.
    NoSuchNodeException - if the node does not exist.
    RepositoryException - - if validation error occurs.

    getProperties

    Property[] getProperties(ID nodeId)
                             throws AuthorizationException,
                                    NoSuchNodeException
    Deprecated 
    Gets all Properties for a Node. If a Property is Binary, then the bytes will not be contained in the BinaryValue. In order to get the bytes a call to (@link #getPropertyBytes} is necessary.

    Parameters
    nodeId - - the id for the node.
    Returns
    An array of Node Properties.
    Throws
    AuthorizationException - - if the user attempting the operation is not authorized to perform it.
    NoSuchNodeException - - if the node can't be found.

    getPropertyBytes

    InputStream getPropertyBytes(ID propertyId)
                                 throws AuthorizationException,
                                        NoSuchPropertyException
    Deprecated 
    Gets the Binary data for the given Property Id.

    Parameters
    propertyId - - the id for the Property that contains the binary data.
    Returns
    An InputStream containing the binary data for the given property id.
    Throws
    AuthorizationException - - if the user attempting the operation is not authorized to perform it.
    NoSuchPropertyException - - if the Property does not exist.


    Copyright © 2000, 2008, Oracle and/or its affiliates. All rights reserved.
    Oracle is a registered trademark of Oracle Corporation and/or its affiliates.
    Other names may be trademarks of their respective owners.