com.bea.content.spi
Interface ExtendedNodeOps

All Superinterfaces
NodeOps, Serializable

public interface ExtendedNodeOps
extends NodeOps, Serializable

This NodeOps interface was added so that if customers choose, they can implement it to get new functionality from the CM system.


Method Summary
 Set<String> getNativeFilterableProperties(String repositoryName)
          Returns a set of property names which the repository can filter natively (within the repository instead of the federated API) for paging purposes.
 Set<String> getNativeSortableProperties(String repositoryName)
          Returns a set of property names which the repository can sort natively (within the repository instead of the federated API) for paging purposes.
 QueryResult<Node> getNodeChildren(ID parentId, int type, QueryCriteria queryCriteria)
          This method returns all children Nodes for the parent Node ID.
 ID[] getNodeChildrenAsNodeIds(ID parentId, int type)
          This method returns an array of all children Node IDs for the parent Node.
 ID[] getNodeReferences(ID nodeId)
          Retrieve nodes in this repository which have a link property referring to the specified node.
 QueryResult<Node> getNodes(ID[] nodeIds, QueryCriteria queryCriteria, boolean failSilently)
          This method returns Nodes, one per node ID passed in.
 Node save(Node node)
          This method updates an existing node in a single transaction.
 
Methods inherited from interface com.bea.content.spi.NodeOps
addNodeContent, copyNode, createNode, createNode, deleteNode, getNode, getNode, getNodeChildren, getNodes, getProperties, getPropertyBytes, moveNode, removeNodeContent, renameNode, updateProperties
 

Method Detail

save

Node save(Node node)
          throws AuthorizationException,
                 RepositoryException
This method updates an existing node in a single transaction. The changed node attributes will be updated accordingly, including changed properties. This is a less granular way of performing similar actions like addNodeContent, moveNode, renameNode, and updateProperties. Additionally this provides access to modify a node's workflow status and workflow id. The node is assumed to be retrieved from this API and therefore properly formed when this call is made. Therefore if this method is called and some property values are not specified, those property values will be made null. The following node attributes cannot be modified via this API. created by, created date, modified by, modified date and path (modifying the parent will cause the node path to be updated properly).

Parameters
node - The node to update with the various changes set accordingly.
Returns
The updated node
Throws
AuthorizationException - - if the user attempting the operation is not authorized to perform it.
RepositoryException - - if validation error occurs.

getNodes

QueryResult<Node> getNodes(ID[] nodeIds,
                           QueryCriteria queryCriteria,
                           boolean failSilently)
                           throws AuthorizationException,
                                  NoSuchNodeException
This method returns Nodes, one per node ID passed in. If the current credential is not allowed access to a particular node, then there may be a null in the results at that node's place.

Parameters
nodeIds - - the Node IDs to retrieve the Nodes for.
queryCriteria - - the query criteria (possibly unsorted and unfiltered)
failSilently - - if true, then if a node cannot be found, no exception will be thrown
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

QueryResult<Node> getNodeChildren(ID parentId,
                                  int type,
                                  QueryCriteria queryCriteria)
                                  throws AuthorizationException,
                                         NoSuchNodeException
This method returns all children Nodes for the parent Node ID.

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.
queryCriteria - - the query Criteria (possibly unsorted and unfiltered)
Returns
one Node object per child of the parent, or empty 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.

getNodeChildrenAsNodeIds

ID[] getNodeChildrenAsNodeIds(ID parentId,
                              int type)
                              throws AuthorizationException,
                                     NoSuchNodeException
This method returns an array of all children Node IDs 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.
Returns
one Node ID 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.

getNodeReferences

ID[] getNodeReferences(ID nodeId)
                       throws AuthorizationException,
                              RepositoryException
Retrieve nodes in this repository which have a link property referring to the specified node.

Parameters
nodeId - The ID of the referred-to node.
Returns
An array of nodes which refer to the given node.
Throws
AuthorizationException - - if the user attempting the operation is not authorized to perform it
RepositoryException

getNativeSortableProperties

Set<String> getNativeSortableProperties(String repositoryName)
                                        throws AuthorizationException,
                                               RepositoryException
Returns a set of property names which the repository can sort natively (within the repository instead of the federated API) for paging purposes.

Parameters
repositoryName - The name of the repository.
Returns
The property names which can be sorted at the repository level.
Throws
AuthorizationException - - if the user attempting the operation is not authorized to perform it.
RepositoryException - - if validation error occurs.

getNativeFilterableProperties

Set<String> getNativeFilterableProperties(String repositoryName)
                                          throws AuthorizationException,
                                                 RepositoryException
Returns a set of property names which the repository can filter natively (within the repository instead of the federated API) for paging purposes.

Parameters
repositoryName - The name of the repository.
Returns
The property names which can be filtered at the repository level.
Throws
AuthorizationException - - if the user attempting the operation is not authorized to perform it.
RepositoryException - - if validation error occurs.


Copyright © 2006 BEA Systems, Inc. All Rights Reserved