com.bea.content.manager
Interface NodeOps

All Superinterfaces
javax.ejb.EJBLocalObject, Serializable

Deprecated As of 9.x, replaced by INodeManager

public interface NodeOps
extends Serializable, javax.ejb.EJBLocalObject

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

WARNING: If using this interface to retrieve binary content from a WLP Repository, please read the javadoc for RepositoryConfig.

Each repository has specific validation rules that the manager will delegate to. If a repository considers an attempted operation invalid, it will throw a RepositoryException. The rules for the manager are defined below.

All nodes are uniquely identified through:

  • 1) their ID, which includes the repository name that owns the Node and also a 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 must include a repository name and a uid that uniquely identifies the Property in the repository. The uid for a Property should be null for creation, but will always contain a value for other operations.

    Node names must not contain either forward, or backslashes.

    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.

    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 and must always contain a repository name. 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.

    All operations with the exception of getNodesAncestry are intended to be performed against a single repository. Therefore, all ID parameters in the same method signature must have the same repositoryName. For example, addNodeContent takes both a Node ID and also an ObjectClass ID, so both of these IDs must have the same repository.

    If the Repository is a Managed Repository (with Library Services enabled.) then some of the methods have different consequences. The basic difference is that if a Repository is Managed, then Node properties are versioned and are passed through a life cycle to get published. Thus, any method that creates new Properties will not create Properties in the Repository, but instead create a VirtualNode that is checked out to the user. The VirtualNode needs to be managed through the WorkspaceOps. If the creation or update of Properties that are already being managed then an UnsupportedRepositoryOperationException will be thrown.

    See Also
    Node
    This interface is intended to be implemented only by Oracle Weblogic Portal. Oracle Systems reserves the right to add abstract methods to this interface without notice. Implementations of this interface by other parties must not be expected to compile without change in future versions of Oracle Weblogic Portal.

    Method Summary
     Node addNodeContent(ID nodeId, ID objectClassId, Property[] properties)
              Deprecated As of 9.x, replaced by Node.setObjectClass(com.bea.content.ObjectClass) and/or Node.setProperties(com.bea.content.Property[]) followed by INodeManager.save(com.bea.content.ContentContext, com.bea.content.Node)
     Node copyNode(ID sourceId, ID destinationId)
              Deprecated As of 9.x, replaced by INodeManager.copy(com.bea.content.ContentContext, com.bea.content.ID, com.bea.content.ID)
     Node createContentNode(ID parentId, String newNodeName)
              Deprecated As of 9.x, replaced by INodeManager.addNode(com.bea.content.ContentContext, String, String, com.bea.content.Property[]) }
     Node createContentNode(ID parentId, String newNodeName, ID objectClassId, Property[] properties)
              Deprecated As of 9.x, replaced by INodeManager.addNode(com.bea.content.ContentContext, String, String, com.bea.content.Property[])
     Node createHierarchyNode(ID parentId, String newNodeName)
              Deprecated As of 9.x, replaced by INodeManager.addNode(com.bea.content.ContentContext, String, String, com.bea.content.Property[])}
     Node createHierarchyNode(ID parentId, String newNodeName, ID objectClassId, Property[] properties)
              Deprecated As of 9.x, replaced by INodeManager.addNode(com.bea.content.ContentContext, String, String, com.bea.content.Property[]) }
     void deleteNode(ID nodeId)
              Deprecated As of 9.x, replaced by INodeManager.remove(com.bea.content.ContentContext, com.bea.content.ID)
     Node[] getAncestry(ID nodeId)
              Deprecated As of 9.x, replaced by INodeManager.getNode(com.bea.content.ContentContext, String)
     Node[] getContentNodeChildren(ID parentId)
              Deprecated As of 9.x, replaced by INodeManager.getNodes(com.bea.content.ContentContext, com.bea.content.ID, int)
     Node[] getHierarchyNodeChildren(ID parentId)
              Deprecated As of 9.x, replaced by INodeManager.getNodes(com.bea.content.ContentContext, com.bea.content.ID, int)
     Node getNode(ID nodeId)
              Deprecated As of 9.x, replaced by INodeManager.getNodeByUUID(com.bea.content.ContentContext, com.bea.content.ID)
     Node getNode(String path)
              Deprecated As of 9.x, replaced by INodeManager.getNode(com.bea.content.ContentContext, String)
     Node[] getNodeChildren(ID parentId)
              Deprecated As of 9.x, replaced by INodeManager.getNodes(com.bea.content.ContentContext, com.bea.content.ID)
     NodeIterator getNodeIterator(ID[] ids, int pageSize)
              Deprecated As of 9.x, replaced by INodeManager.getNodes(com.bea.content.ContentContext, com.bea.content.ID[])
     Node[] getNodes(ID[] nodeIds)
              Deprecated As of 9.x, replaced by INodeManager.getNodes(com.bea.content.ContentContext, com.bea.content.ID[])
     InputStream getPropertyBytes(ID nodeId, ID propertyId)
              Deprecated As of 9.x, replaced by INodeManager.getStream(com.bea.content.ContentContext, com.bea.content.ID, String)
     Node moveNode(ID sourceId, ID destinationId)
              Deprecated As of 9.x, replaced by INodeManager.move(com.bea.content.ContentContext, com.bea.content.ID, com.bea.content.ID)
     Node removeNodeContent(ID nodeId)
              Deprecated As of 9.x, replaced by Node.setObjectClass(com.bea.content.ObjectClass) with a null value and Node.setProperties(com.bea.content.Property[]) with a null value followed by INodeManager.save(com.bea.content.ContentContext, com.bea.content.Node)
     Node renameNode(ID nodeId, String newName)
              Deprecated As of 9.x, replaced by Node.setName(String) followed by INodeManager.save(com.bea.content.ContentContext, com.bea.content.Node)
     Node updateProperties(ID nodeId, Property[] properties)
              Deprecated As of 9.x, replaced by INodeManager.save(com.bea.content.ContentContext, com.bea.content.Node)
     
    Methods inherited from interface javax.ejb.EJBLocalObject
    getEJBLocalHome, getPrimaryKey, isIdentical, remove
     

    Method Detail

    createHierarchyNode

    Node createHierarchyNode(ID parentId,
                             String newNodeName)
                             throws AuthenticationException,
                                    AuthorizationException,
                                    NodeExistsException,
                                    RepositoryException
    Deprecated As of 9.x, replaced by INodeManager.addNode(com.bea.content.ContentContext, String, String, com.bea.content.Property[])}

    This method creates a new Hierarchy Node underneath the parent. The parent may only be another Hierarchy Node or root, not a Content Node. If the uid for the parent id is null then the new Node is created under root.

    Parameters
    parentId - - the ID for the parent (must be Hierarchy Node) of the node. The uid for the ID is null if the parent is root. The repository must be defined in the ID.
    newNodeName - - the name of Node to create.
    Returns
    Node - the newly created 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.
    NodeExistsException - - if the name for the node already exists as a child of the parent.
    RepositoryException - - if validation error occurs.

    createHierarchyNode

    Node createHierarchyNode(ID parentId,
                             String newNodeName,
                             ID objectClassId,
                             Property[] properties)
                             throws AuthorizationException,
                                    NodeExistsException,
                                    NoSuchObjectClassException,
                                    RepositoryException
    Deprecated As of 9.x, replaced by INodeManager.addNode(com.bea.content.ContentContext, String, String, com.bea.content.Property[]) }

    This method creates a new Hierarchy Node underneath the parent. If the parent is null then the new Node is created under root. This method also 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.

    If the Repository is a Managed Repository this method will create the Node in the Repository, but not the Properties. Instead, a VirtualNode will be created in the Virtual Repository with the Properties. When the Node moves through the Workflow and gets published, the Properties and ObjectClass will be updated on the Node.

    Parameters
    parentId - - the id for the parent of the node. It is null if the parent is root.
    newNodeName - - the name of Node to create.
    objectClassId - - the ID for the ObjectClass to associate the new Node to.
    properties - - the properties to add to the new Node.
    Returns
    Node - the newly created Node. If the operation is for a Maanged Repository, the returned Node will not include the Properties and ObjectClass.
    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 system error occurs.

    createContentNode

    Node createContentNode(ID parentId,
                           String newNodeName)
                           throws AuthenticationException,
                                  AuthorizationException,
                                  NodeExistsException,
                                  RepositoryException
    Deprecated As of 9.x, replaced by INodeManager.addNode(com.bea.content.ContentContext, String, String, com.bea.content.Property[]) }

    This method creates a new Content Node underneath the parent. If the uid for the parent ID is null then the new Node is created under root.

    Parameters
    parentId - - the ID for the parent of the node. The parent may be either a Hierarchy or Content Node. The uid for the ID is null if the parent is root. The repositoryName must be defined in the ID.
    newNodeName - - the name of Node to create.
    Returns
    Node - the newly created 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.
    NodeExistsException - - if the name for the node already exists as a child of the parent.
    RepositoryException - - if system or validation error occurs.

    createContentNode

    Node createContentNode(ID parentId,
                           String newNodeName,
                           ID objectClassId,
                           Property[] properties)
                           throws AuthorizationException,
                                  NodeExistsException,
                                  NoSuchObjectClassException,
                                  RepositoryException
    Deprecated As of 9.x, replaced by INodeManager.addNode(com.bea.content.ContentContext, String, String, com.bea.content.Property[])

    This method creates a new Content Node underneath the parent. If the uid for the parent id 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. The repository for the parentId and the objectClassId must be the same.

    If the Repository is a Managed Repository this method will create the Node in the Repository, but not the Properties. Instead, a VirtualNode will be created in the Virtual Repository with the Properties. When the Node moves through the Workflow and gets published, the Properties and ObjectClass will be updated on the Node.

    Parameters
    parentId - - the id for the parent of the node. It is null if the parent is root.
    newNodeName - - the name of Node to create.
    objectClassId - - the ID for the ObjectClass to associate the new Node to.
    properties - - the properties to add to the new Node.
    Returns
    Node - the newly created Node. If the operation is for a Maanged Repository, the returned Node will not include the Properties and ObjectClass.
    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 system error occurs.

    getNode

    Node getNode(ID nodeId)
                 throws AuthenticationException,
                        AuthorizationException,
                        NoSuchNodeException,
                        RepositoryException
    Deprecated As of 9.x, replaced by INodeManager.getNodeByUUID(com.bea.content.ContentContext, com.bea.content.ID)

    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 will be contained in the 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.

    The Node Cache will be checked first before going to the spi to retrieve the Node.

    Parameters
    nodeId - - the ID for the node to get. The ID must include the repository and uid.
    Returns
    Node - the retrieved 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 get can't be found.
    RepositoryException

    getNode

    Node getNode(String path)
                 throws AuthenticationException,
                        AuthorizationException,
                        NoSuchNodeException,
                        RepositoryException
    Deprecated As of 9.x, replaced by INodeManager.getNode(com.bea.content.ContentContext, String)

    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 will be contained in the Node. The repositoryName must be defined in the path in a unix like format. For example, /repository/path.

    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.

    The Node Cache will be checked first before going to the spi to retrieve the Node.

    Parameters
    path - - the path for the node to get. The repositoryName must be defined in the path.
    Returns
    Node - the retrieved 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 get can't be found.
    RepositoryException

    getNodes

    Node[] getNodes(ID[] nodeIds)
                    throws AuthenticationException,
                           AuthorizationException,
                           NoSuchNodeException,
                           RepositoryException
    Deprecated As of 9.x, replaced by INodeManager.getNodes(com.bea.content.ContentContext, com.bea.content.ID[])

    This method gets the Node for each node ID passed in.

    The IDs may be for different repositories. The IDs are chunked based on continuous repositories so there will only be one call to each repository for the chunk of ids. For example, if the ID array 0-5 contains IDs for repository A and 6-10 contain IDs for repository B, and 11-15 are for repository A, there will be 2 calls to repository A with 0-5 and 11-15 and one call to repository B with 6-10.

    The position in the array for the returned Node will match the position where its ID was in the input ID array. There may be null Nodes in the array, in the case where the user does not have sufficient privileges to view the node, or if the Node has been deleted.

    The Node Cache will be checked first before going to the spi to retrieve the Node.

    Parameters
    nodeIds - - the Node IDs to retrieve the Nodes for. Each ID must contain the repositoryName where the Node resides. If nodeIds is null, or an empty array then an empty Node array will be returned.
    Returns
    Node[] - the retrieved Nodes. There may be null Nodes in the array, in the case where the user does not have sufficient privileges to view the node, or if the Node has been deleted.
    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 a node to get can't be found.
    RepositoryException

    getNodeChildren

    Node[] getNodeChildren(ID parentId)
                           throws AuthenticationException,
                                  AuthorizationException,
                                  NoSuchNodeException,
                                  RepositoryException
    Deprecated As of 9.x, replaced by INodeManager.getNodes(com.bea.content.ContentContext, com.bea.content.ID)

    This method returns the children Nodes for the given parent Node. The nodes include their Properties and ObjectClass.

    Parameters
    parentId - - the ID for the Node that may have children. The repositoryName must be defined in the id. If the uid is null then the Nodes at the repository root will be returned.
    Returns
    array - one Node per child of the parent, or empty array if the Node has no children.
    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 parent node can't be found.
    RepositoryException

    getHierarchyNodeChildren

    Node[] getHierarchyNodeChildren(ID parentId)
                                    throws AuthenticationException,
                                           AuthorizationException,
                                           NoSuchNodeException,
                                           RepositoryException
    Deprecated As of 9.x, replaced by INodeManager.getNodes(com.bea.content.ContentContext, com.bea.content.ID, int)

    This method returns the children Nodes for the given parent Node or an empty array if none exist.

    Parameters
    parentId - - the ID for the Hierarchy Node that may have children. (Content Nodes can't contain Hierarchy Nodes). The repositoryName must be defined in the id. If the uid is null then the Hierarchy Nodes at the repository root will be returned.
    Returns
    array - all Hierarchy Node children of the parent, or empty array if the Node has no Hierarchy Node children.
    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 parent node can't be found.
    RepositoryException

    getContentNodeChildren

    Node[] getContentNodeChildren(ID parentId)
                                  throws AuthenticationException,
                                         AuthorizationException,
                                         NoSuchNodeException,
                                         RepositoryException
    Deprecated As of 9.x, replaced by INodeManager.getNodes(com.bea.content.ContentContext, com.bea.content.ID, int)

    This method returns the Content Node children for the given parent Node or an empty array if none exist.

    Parameters
    parentId - - the Node that may have Content Node children. The repositoryName must be defined in the id. If the uid is null then the Hierarchy Nodes at the repository root will be returned.
    Returns
    array - all Content Node children of the parent, or empty array if the Node has no Content Node children.
    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 parent node can't be found.
    RepositoryException

    getAncestry

    Node[] getAncestry(ID nodeId)
                       throws AuthenticationException,
                              AuthorizationException,
                              NoSuchNodeException,
                              RepositoryException
    Deprecated As of 9.x, replaced by INodeManager.getNode(com.bea.content.ContentContext, String)

    This method gets all the nodes in it's path including itself. The array starts at the parent under root and includes each Node down to the Node for the id passed in. This method is a convenience method to build the ancestry. It does not run natively on the SPI so this may be performance intensive and make multiple calls to the SPI.

    Parameters
    nodeId - - the id of the node. The ID must be include the repository and uid.
    Returns
    Node[] - an array starting with the top Node down to the found 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 get ancestry for does not exist.
    RepositoryException

    deleteNode

    void deleteNode(ID nodeId)
                    throws AuthenticationException,
                           AuthorizationException,
                           NoSuchNodeException,
                           RepositoryException
    Deprecated As of 9.x, replaced by INodeManager.remove(com.bea.content.ContentContext, com.bea.content.ID)

    This method performs a full cascade delete on a Node. As such, the node, all its descendant Nodes and each of the Nodes Properties are removed in the process.

    A call to this method will flush the entire Node Cache.

    If the Repository is a Managed Repository, delete will be attempted on the history for the Node also. Thus, delete removes all existence of the Node and its properties.

    Parameters
    nodeId - - the ID of the Node to be deleted.
    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 delete can't be found.
    RepositoryException - - if validation error occurs.

    moveNode

    Node moveNode(ID sourceId,
                  ID destinationId)
                  throws AuthenticationException,
                         AuthorizationException,
                         NodeExistsException,
                         NoSuchNodeException,
                         RepositoryException
    Deprecated As of 9.x, replaced by INodeManager.move(com.bea.content.ContentContext, com.bea.content.ID, com.bea.content.ID)

    This method moves a Node to a new location in the hierarchy along with all its descendants.

    The parent ID for the source node will be changed, but all descendants of the source node will keep their parent relationships intact.

    The move may only be performed within the same repository, therefore the repositoryName must be the same in both the sourceId and the destinationId.

    The uid must be defined for the sourceId, but if the uid is null for the destinationId, the desination will be the repository root.

    A call to this method will flush the entire Node Cache.

    Parameters
    sourceId - - the ID of the Node to be moved. Both repositoryName and the uid must be defined in the ID.
    destinationId - - the ID of the Node under which the sourceId Node is moved. The repositoryName must be defined in the ID. If the uid is null, the destination will be the repository root.
    Returns
    Node - the moved Node, with a new path
    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.
    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 system or validation error occurs.

    copyNode

    Node copyNode(ID sourceId,
                  ID destinationId)
                  throws AuthenticationException,
                         AuthorizationException,
                         NoSuchNodeException,
                         RepositoryException
    Deprecated As of 9.x, replaced by INodeManager.copy(com.bea.content.ContentContext, com.bea.content.ID, com.bea.content.ID)

    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, new Properties and new children if applicable.

    The copy may only be performed within the same repository, therefore the repositoryName must be the same in both the sourceId and the destinationId.

    The uid must be defined for the sourceId, but if the uid is null for the destinationId, the desination will be the repository root.

    A call to this method will flush the entire Node Cache.

    If the Repository is a Managed Repository, copy will copy all the Nodes to the Repository without the Properties and ObjectClasses, so it will just copy the structure. For each Node it will create a VirtualNode in the Virtual Repository. Thus each Node will be checked out to the user who performed the copy.

    Parameters
    sourceId - - the ID of the Node to be copied. Both the repositoroyName and the uid must be defined in the ID.
    destinationId - - the ID of the Node under which the sourceId Node is copied. The repositoryName must be defined in the ID. If the uid is null, the destination will be the repository root.
    Returns
    Node - the copied Node, with a new uid and path.
    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 source or destination node can't be found.
    RepositoryException - - if system or validation error occurs.

    renameNode

    Node renameNode(ID nodeId,
                    String newName)
                    throws AuthenticationException,
                           AuthorizationException,
                           NoSuchNodeException,
                           NodeExistsException,
                           RepositoryException
    Deprecated As of 9.x, replaced by Node.setName(String) followed by INodeManager.save(com.bea.content.ContentContext, com.bea.content.Node)

    This method renames a node and implicitly all of its descendants paths. A call to this method will flush the entire Node Cache.

    Parameters
    nodeId - - the ID for the node to rename. The repositoryName and uid must be defined in the ID.
    newName - - a String for the new node name
    Returns
    Node - the renamed 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 rename can't be found.
    NodeExistsException - - if the newName already exists as a sibling.
    RepositoryException - - if system or validation error occurs.

    addNodeContent

    Node addNodeContent(ID nodeId,
                        ID objectClassId,
                        Property[] properties)
                        throws AuthenticationException,
                               AuthorizationException,
                               NoSuchObjectClassException,
                               NoSuchNodeException,
                               RepositoryException
    Deprecated As of 9.x, replaced by Node.setObjectClass(com.bea.content.ObjectClass) and/or Node.setProperties(com.bea.content.Property[]) followed by INodeManager.save(com.bea.content.ContentContext, com.bea.content.Node)

    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. A Call to this method will flush the entry in the Node Cache for this Node.

    If the Repository is a Managed Repository this method will create the Node in the Repository, but not the Properties. Instead, a VirtualNode will be created in the Virtual Repository with the Properties. When the Node moves through the Workflow and gets published, the Properties and ObjectClass will be updated on the Node.

    Parameters
    nodeId - - the ID of the node to update. The ID must include the repositoryName and uid.
    objectClassId - - the ID of the objectClass to associate the Node to. The ID must include the repositoryName and the uid.
    properties - - the Properties to add or update on the Node.
    Returns
    Node - the updated Node. If the operation is for a Maanged Repository, the returned Node will not include the Properties and ObjectClass.
    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.
    NoSuchObjectClassException - thrown if the ObjectClass to set on the Node does not exist.
    NoSuchNodeException - - if the Node to update does not exist.
    RepositoryException - - if system or validation error occurs.

    removeNodeContent

    Node removeNodeContent(ID nodeId)
                           throws AuthenticationException,
                                  AuthorizationException,
                                  NoSuchNodeException,
                                  RepositoryException
    Deprecated As of 9.x, replaced by Node.setObjectClass(com.bea.content.ObjectClass) with a null value and Node.setProperties(com.bea.content.Property[]) with a null value followed by INodeManager.save(com.bea.content.ContentContext, com.bea.content.Node)

    Removes the Nodes reference to its ObjectClass and deletes its Properties. A Call to this method will flush the entry in the Node Cache for this Node.

    If the Repository is a Managed Repository an UnsupportedRepositoryOperationException will be thrown. The only way to remove content from a managed Node is to Unpublish it.

    Parameters
    nodeId - - the ID for the Node to remove the ObjectClass from.
    Returns
    Node - 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 does not exist.
    RepositoryException - - if system or validation error occurs.

    updateProperties

    Node updateProperties(ID nodeId,
                          Property[] properties)
                          throws AuthenticationException,
                                 AuthorizationException,
                                 NoSuchNodeException,
                                 NoSuchPropertyException,
                                 RepositoryException
    Deprecated As of 9.x, replaced by INodeManager.save(com.bea.content.ContentContext, com.bea.content.Node)

    Updates the Node with the Properties. The node must already have an ObjectClass and valid Properties associated with it. All Properties are validated against their respective PropertyDefinition. A Call to this method will flush the entry in the Node Cache for this Node.

    If the Repository is a Managed Repository an UnsupportedRepositoryOperationException will be thrown. The only way to remove content from a managed Node is to Unpublish it.

    Parameters
    nodeId - - the ID of the Node to update. The ID must include the repositoryName and uid.
    properties - - the Properties to update on the Node.
    Returns
    Node - 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.

    getPropertyBytes

    InputStream getPropertyBytes(ID nodeId,
                                 ID propertyId)
                                 throws AuthenticationException,
                                        AuthorizationException,
                                        NoSuchPropertyException,
                                        RepositoryException
    Deprecated As of 9.x, replaced by INodeManager.getStream(com.bea.content.ContentContext, com.bea.content.ID, String)

    Gets the Binary data for the given Node and Property Id.

    After calling this method and retrieving the InputStream, you must close the InputStream when finished reading it in a finally block.

    WARNING: If using this interface to retrieve binary content from a WLP Repository, please read the javadoc for RepositoryConfig.

    Parameters
    nodeId - - the ID for the node.
    propertyId - - the ID for the Property that contains the binary data. The ID must include the repositoryName.
    Returns
    InputStream - the binary data.
    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.
    NoSuchPropertyException - - if the Property does not exist.
    RepositoryException

    getNodeIterator

    NodeIterator getNodeIterator(ID[] ids,
                                 int pageSize)
    Deprecated As of 9.x, replaced by INodeManager.getNodes(com.bea.content.ContentContext, com.bea.content.ID[])

    Gets an Iterator of Nodes. The Iterator will retrieve nodes in chunks based on the pageSize.

    Parameters
    ids - - the ids to iterate on
    pageSize - - the number of nodes to retrieve at one time.
    Returns
    ListIterator - an iterator of Nodes.


    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.