null
is returned.
*
* @param nodeRef the node reference
* @param create true if the node status is to be updated in the transaction, i.e.
* the current transaction must be assigned to the status
* @return Returns the node status if the node exists or once existed, otherwise
* returns null
if create == false
*/
public NodeStatus getNodeStatus(NodeRef nodeRef, boolean update);
/**
* Sets the current transaction ID on the node status. Note that the node
* may not exist, but the status will.
*
* @param nodeRef the node reference
*/
public void recordChangeId(NodeRef nodeRef);
/**
* @param store the store to which the node must belong
* @param uuid the node store-unique identifier
* @param nodeTypeQName the type of the node
* @return Returns a new node of the given type and attached to the store
* @throws InvalidTypeException if the node type is invalid or if the node type
* is not a valid real node
*/
public Node newNode(Store store, String uuid, QName nodeTypeQName) throws InvalidTypeException;
/**
* @param nodeRef the node reference
* @return Returns the node entity
*/
public Node getNode(NodeRef nodeRef);
/**
* Deletes the node instance, taking care of any cascades that are required over
* and above those provided by the persistence mechanism.
*
* A caller must able to delete the node using this method and not have to follow
* up with any other ancillary deletes
*
* @param node the entity to delete
* @param cascade true if the assoc deletions must cascade to primary child nodes
*/
public void deleteNode(Node node, boolean cascade);
/**
* @return Returns the persisted and filled association
*
* @see ChildAssoc
*/
public ChildAssoc newChildAssoc(
Node parentNode,
Node childNode,
boolean isPrimary,
QName assocTypeQName,
QName qname);
/**
* Change the name of the child node.
*
* @param childAssoc the child association to change
* @param childName the name to put on the association
*/
public void setChildNameUnique(ChildAssoc childAssoc, String childName);
/**
* Get the statuses of all the child primary child nodes of the given parent
*/
public CollectionChildAssoc
instance where the given node is the child.
* The return value could be null for a root node - but ONLY a root node
*/
public ChildAssoc getPrimaryParentAssoc(Node node);
/**
* @return Returns the persisted and filled association
* @see NodeAssoc
*/
public NodeAssoc newNodeAssoc(
Node sourceNode,
Node targetNode,
QName assocTypeQName);
/**
* @return Returns a list of all node associations associated with the given node
*/
public List