Overview | Package | Class | Tree | Deprecated | Index | Help
| Copyright © 2006 BEA Systems, Inc. All Rights Reserved
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.bea.content
Class Node

    java.lang.Object
      com.bea.content.ContentEntity
          com.bea.content.Node

All Implemented Interfaces
  Serializable

Direct Known Subclasses:
  RepositoryNode, RepositoryRootNode

    public class Node

extends ContentEntity

A Node represents an element in a hieararchy.

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

The concept of a 'node type' is deprecated. It was previously defined as follows: A Node can either be a Hierarchy or Content Node. A Hierarchy Node can contain both other Hierarchy and Content Nodes while a Content Node can only contain other Content Nodes.

Nodes have a few system properties that are set by the repository. Nodes also may contain Properties based on the ObjectClass (type) defined for it. Both Content and Hierarchy Nodes may contain an ObjectClass and Properties.

Nodes are uniquely identified in a repository by the uid on their ID. The uid could be a uuid, database id, the path, etc. All nodes also have a path that uniquely identifies it within the 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/.

Node names must not contain either forward, or backslashes.

A Node's Properties may be lazy loaded, depending on the implementation of the underyling operation that retrieved the Node.

Methods which return an `com.bea.content.paging.ISortableFilterablePagedList` from `INodeManager` can sort and filter the responses. For a discussion on paging, sorting and filtering, see `com.bea.content.paging` and `ContentListKeys`. Native sortable properties for the BEA Repository are found via the `ISortablePagedList.getNativeSortableProperties()` method on a paged list of Node objects.

For Nodes in the BEA Repository, the current list of native sortable and filterable properties is:

- name
- createdDate
- createdBy
- path
- parentId
- modifiedDate
- modifiedBy
- type (content, hierarchy or node). The type concept is deprecated in 9.2.
- workflowId
- workflowStatus
- typeName

See Also
  `PathHelper#SEPARATOR}`, Serialized Form

Field Summary
`static int` | `CONTENT` Deprecated
`static int` | `HIERARCHY` Deprecated
`static int` | `NODE` Deprecated

Fields inherited from class com.bea.content.ContentEntity
`id`

Constructor Summary
`Node(Calendar createdDate, String createdBy, boolean hasChildren, ID id, String modifiedBy, Calendar modifiedDate, ObjectClass objectClass, ID parentId, String path, Property[] properties)` Constructor with all attributes.
`Node(Calendar createdDate, String createdBy, boolean hasChildren, ID id, String modifiedBy, Calendar modifiedDate, ObjectClass objectClass, ID parentId, String path, Property[] properties, int type)` Deprecated due to the deprecated type parameter.

Method Summary
`Object` | `clone()` Clones a node with its properties and values.
`Node[]` | `getChildren()` Deprecated This method does not perform security check before returning results, therefore it may not return correct results.
`Node[]` | `getContentChildren()` Deprecated This method does not perform security check before returning results, therefore it may not return correct results.
`String` | `getCreatedBy()` The user who created this node.
`Calendar` | `getCreatedDate()` The date this node was created on.
`Node[]` | `getHierarchyChildren()` Deprecated This method does not perform security check before returning results, therefore it may not return correct results.
`int` | `getLifeCycleStatus()` Deprecated Please use `getWorkflowStatus()`
`String` | `getModifiedBy()` The user who last modified this Node.
`Calendar` | `getModifiedDate()` The Date when this Node was last modified.
`String` | `getName()` The Node name.
`ObjectClass` | `getObjectClass()` The ObjectClass to which this Node is associated.
`ID` | `getParentId()` Gets the id for the parent of this node.
`String` | `getPath()` The path where this Node resides.
`Property` | `getPrimaryProperty()` Gets the primary property for this Node, or null if there isn't one or when the node doesn't have an object class
`Property[]` | `getProperties()` Gets the Properties for this node.
`Property` | `getProperty(String name)` Returns the property referenced by name or null if the property does not exist.
`InputStream` | `getPropertyBytes(ID propertyId)` Returns the bytes for the given property.
`int` | `getType()` Deprecated
`Workflow` | `getWorkflow()` Return the workflow associated with the node.
`ID` | `getWorkflowId()` Return the workflow ID set on the node.
`int` | `getWorkflowStatus()` Returns the status for this node.
`boolean` | `hasChildren()` True if this node has children.
`void` | `hasChildren(boolean hasChildren)` Set true if the node has children, false if not.
`boolean` | `isPropertiesNull()` Returns true if the properties have not been set in memory.
`boolean` | `isRetired()` Returns true if the node is retired.
`void` | `isRetired(boolean isRetired)` Sets the retired status for the node.
`void` | `setCreatedBy(String createdBy)` Sets the user who created this node.
`void` | `setCreatedDate(Calendar createdDate)` Sets the date this node was created on.
`void` | `setLifeCycleStataus(int lifeCycleStatus)` Deprecated Please use `setWorkflowStatus(int)`
`void` | `setModifiedBy(String modifiedBy)` Sets the user who last modified this Node.
`void` | `setModifiedDate(Calendar modifiedDate)` Sets the Date when this Node was last modified.
`void` | `setName(String name)` Set the node's name for a save operation.
`void` | `setNodeOps(NodeOps nodeOps)` Sets the NodeOps to perform operations on the repository.
`void` | `setObjectClass(ObjectClass objectClass)` Sets the ObjectClass to which this Node is associated.
`void` | `setParentId(ID parentId)` Sets this Node's parent id.
`void` | `setPath(String path)` Sets the path of this Node.
`void` | `setProperties(Property[] properties)` Sets all properties for this node as specified.
`void` | `setType(int type)` Deprecated
`void` | `setWorkflowId(ID workflowId)` Sets the workflowId for the node.
`void` | `setWorkflowOps(WorkflowOps workflowOps)` Sets the WorkflowOps to perform workflow lookup on the repository.
`void` | `setWorkflowStatus(int workflowStatus)` Sets the lifecycle status.
`String` | `toString()` Returns the attributes of this Node in a String.

Methods inherited from class com.bea.content.ContentEntity
`getId, setId`

Methods inherited from class java.lang.Object
`equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### HIERARCHY

    public static final int HIERARCHY

  Deprecated
  This defines a Node as a container, like a Folder. A Hierarchy Node may contain other Hierarchy nodes as well as Content Nodes.

  See Also
    Constants Summary

### CONTENT

    public static final int CONTENT

  Deprecated
  This defines a Node that represents content, such as a file with metadata. A Content Node may contain other Content Nodes, but not Hierarchy Nodes.

  See Also
    Constants Summary

### NODE

    public static final int NODE

  Deprecated
  This could either be a `HIERARCHY` or `CONTENT` Node. This is not a valid definition for a Node (`getType()` should never return this value), but may be used as a description.

  See Also
    Constants Summary

Constructor Detail

### Node

    public Node(Calendar createdDate,
                String createdBy,
                boolean hasChildren,
                ID id,
                String modifiedBy,
                Calendar modifiedDate,
                ObjectClass objectClass,
                ID parentId,
                String path,
                Property[] properties,
                int type)

  Deprecated due to the deprecated type parameter.

  Constructor with all attributes.

  Parameters
    `createdDate` - - the date the Node was created, as defined by the Repository.
    `createdBy` - - the user id who created this Node
    `hasChildren` - - true if this Node hasChildren, false otherwise.
    `id` - - the id for the Node.
    `modifiedBy` - - the user id who last modified this Node.
    `objectClass` - - the ObjectClass associated with this Node, null if an ObjectClass is not associated with this Node.
    `parentId` - - the Id for the parent of this Node, null if Node resides at root.
    `path` - - the path of the Node in unix-like format. For example, /foo/foo2
    `properties` - - Properties for this Node, null if none are defined.
    `type` - - the type of Node, either `HIERARCHY` or `CONTENT`.

### Node

    public Node(Calendar createdDate,
                String createdBy,
                boolean hasChildren,
                ID id,
                String modifiedBy,
                Calendar modifiedDate,
                ObjectClass objectClass,
                ID parentId,
                String path,
                Property[] properties)

  Constructor with all attributes.

  Parameters
    `createdDate` - - the date the Node was created, as defined by the Repository.
    `createdBy` - - the user id who created this Node
    `hasChildren` - - true if this Node hasChildren, false otherwise.
    `id` - - the id for the Node.
    `modifiedBy` - - the user id who last modified this Node.
    `objectClass` - - the ObjectClass associated with this Node, null if an ObjectClass is not associated with this Node.
    `parentId` - - the Id for the parent of this Node, null if Node resides at root.
    `path` - - the path of the Node in unix-like format. For example, /foo/foo2
    `properties` - - Properties for this Node, null if none are defined.

Method Detail

### getCreatedDate

    public Calendar getCreatedDate()

  The date this node was created on.

### setCreatedDate

    public void setCreatedDate(Calendar createdDate)

  Sets the date this node was created on.

### getCreatedBy

    public String getCreatedBy()

  The user who created this node.

### setCreatedBy

    public void setCreatedBy(String createdBy)

  Sets the user who created this node.

### getModifiedBy

    public String getModifiedBy()

  The user who last modified this Node.

### setModifiedBy

    public void setModifiedBy(String modifiedBy)

  Sets the user who last modified this Node.

### getModifiedDate

    public Calendar getModifiedDate()

  The Date when this Node was last modified.

### setModifiedDate

    public void setModifiedDate(Calendar modifiedDate)

  Sets the Date when this Node was last modified.

### getName

    public String getName()

  The Node name. This is the last element in the path.

### setName

    public void setName(String name)

  Set the node's name for a save operation. Replace the last element in the path.

  Parameters
    `name` - The new node name

### setNodeOps

    public void setNodeOps(NodeOps nodeOps)

  Sets the NodeOps to perform operations on the repository. This NodeOps may be used internally to lazy load attributes such as Properties.

### setWorkflowOps

    public void setWorkflowOps(WorkflowOps workflowOps)

  Sets the WorkflowOps to perform workflow lookup on the repository. This may be used internally to lookup workflow associated with the node.

  Parameters
    `workflowOps` -

### getObjectClass

    public ObjectClass getObjectClass()

  The ObjectClass to which this Node is associated.

### setObjectClass

    public void setObjectClass(ObjectClass objectClass)

  Sets the ObjectClass to which this Node is associated.

### getParentId

    public ID getParentId()

  Gets the id for the parent of this node.

### setParentId

    public void setParentId(ID parentId)

  Sets this Node's parent id.

### getPath

    public String getPath()

  The path where this Node resides. This is unique to the repository.

### setPath

    public void setPath(String path)

  Sets the path of this Node. This is unique to the repository.

### getLifeCycleStatus

    public int getLifeCycleStatus()

  Deprecated Please use `getWorkflowStatus()`

  Returns the status for this node. The Node workflowStatus does not follow the LifeCycle status changes. It may only be set to `Workflow.PUBLISHED` or `Workflow.RETIRED`.

### getWorkflowStatus

    public int getWorkflowStatus()

  Returns the status for this node. The Node workflowStatus does not follow the Workflow status changes. It may only be set to `Workflow.PUBLISHED` or `Workflow.RETIRED`.

### setLifeCycleStataus

    public void setLifeCycleStataus(int lifeCycleStatus)

  Deprecated Please use `setWorkflowStatus(int)`

  Sets the lifecycle status. The Node workflowStatus does not follow the LifeCycle status changes. It may only be set to `Workflow.PUBLISHED` or `Workflow.RETIRED`.

### setWorkflowStatus

    public void setWorkflowStatus(int workflowStatus)

  Sets the lifecycle status. The Node workflowStatus does not follow the Workflow status changes. It may only be set to `Workflow.PUBLISHED` or `Workflow.RETIRED`.

  Parameters
    `workflowStatus` - The workflow status as defined in the `Workflow` object.

### isRetired

    public boolean isRetired()

  Returns true if the node is retired.

  Returns
    The node's retired status.

### isRetired

    public void isRetired(boolean isRetired)

  Sets the retired status for the node.

  Parameters
    `isRetired` - True if the node should be retired.

### getPrimaryProperty

    public Property getPrimaryProperty()
                                throws RepositoryException

  Gets the primary property for this Node, or null if there isn't one or when the node doesn't have an object class

  Throws
    `RepositoryException`

### getProperty

    public Property getProperty(String name)
                         throws AuthorizationException

  Returns the property referenced by name or null if the property does not exist. If the Properties are not currently in memory, they will be retrieved. If you need to check if the Node instance in memory has its Propereties set, use `isPropertiesNull()`.

  Parameters
    `name` - The name of the property to retrieve.
  Returns
    The property, or null if the property does not exist.
  Throws
    `AuthorizationException` - - if the user attempting the operation is not authrorized.

    For nested type properties, the name must reflect the nested hierarchy using `NESTED_DELIMITER` between each parent and child property name. The delimiter is not valid for use within the actual name, only to seperate the parent/child names.

    If the `Property` returned is that of a nested type, it will return `Property` with a `Value` that is an array of `Property` objects.

    If the `Property` returned is that of a multi valued nested type, it will return `Property` with an array of `Value` objects, of which each is an array of `Property` objects.

    A nested Property can be retrieved directly by using the proper name with delimiter (ie. myAddress.city). If a nested Property is multivalued, the index of that multivalued property will have to be reflected in the name, if you retrieve it directly (ie myAddresses[0].city will retrieve the first address's city in a multivalued nested property, or myAddresses[1].city will retrieve the second address's city. If the indexedName is not used to retrieve a property that is nested by a multivalued nested type, then only the first instance found, with that property name will be returned. The nesting tree will not be walked to find all properties of that name.

    See `Property.getIndexedName()`

    If the specified property does not exist in the node, it will return null.

### getProperties

    public Property[] getProperties()
                             throws AuthorizationException

  Gets the Properties for this node. Each property must have a corresponding PropertyDefinition defined in the Node's ObjectClass. If the Properties are not currently in memory, they will be retrieved. If you need to check if the Node instance in memory has its Propereties set, use `isPropertiesNull()`.

  Throws
    `AuthorizationException` - - if the user attempting the operation is not authrorized.

### setProperties

    public void setProperties(Property[] properties)

  Sets all properties for this node as specified.

  Each property must have a corresponding PropertyDefinition defined in the Node's ObjectClass.

  Properties which are defined in the Node's ObjectClass, but are not specified in the Property[] will be removed.

### isPropertiesNull

    public boolean isPropertiesNull()

  Returns true if the properties have not been set in memory.

### getType

    public int getType()

  Deprecated

  The type of the Node. Either `HIERARCHY` or `CONTENT`.

### setType

    public void setType(int type)

  Deprecated

  Sets the Node type. Either `HIERARCHY` or `CONTENT`.

### hasChildren

    public boolean hasChildren()

  True if this node has children. If the node does have children they may be retrieved through the NodeOps.

### hasChildren

    public void hasChildren(boolean hasChildren)

  Set true if the node has children, false if not. This does not indicate if it currently has them as part of the instance (in memory), or if they will be lazy loaded, but rather simply that they exist.

### getChildren

    public Node[] getChildren()
                       throws AuthorizationException

  Deprecated This method does not perform security check before returning results, therefore it may not return correct results.

  Returns the children of this node. This is a convenience method to NodeOps.getNodeChildren() and does not keep the retrieved values in memory as part of this instance.

  Throws
    `AuthorizationException` - - if the user attempting the operation is not authrorized.

### getContentChildren

    public Node[] getContentChildren()
                              throws AuthorizationException

  Deprecated This method does not perform security check before returning results, therefore it may not return correct results.

  Returns the Content children of this node. This is a convenience method to NodeOps.getNodeChildren() and does not keep the retrieved values in memory as part of this instance.

  Throws
    `AuthorizationException` - - if the user attempting the operation is not authrorized.

### getHierarchyChildren

    public Node[] getHierarchyChildren()
                                throws AuthorizationException

  Deprecated This method does not perform security check before returning results, therefore it may not return correct results.

  Returns the Hierarchy children of this node. This is a convenience method to NodeOps.getNodeChildren() and does not keep the retrieved values in memory as part of this instance.

  Throws
    `AuthorizationException` - - if the user attempting the operation is not authrorized.

### getWorkflowId

    public ID getWorkflowId()

  Return the workflow ID set on the node.

  Returns
    Returns the workflowId associated with the node. Will return null if no workflow is explicitly set on the node.

### setWorkflowId

    public void setWorkflowId(ID workflowId)

  Sets the workflowId for the node.

  Parameters
    `workflowId` - Set the workflowId for the node.

### getWorkflow

    public Workflow getWorkflow()
                         throws RepositoryException

  Return the workflow associated with the node. This method is slightly different than the getWorkflowId() because getWorkflowId() only returns the workflow explicitly set on the node, while this method does the workflow inheritance lookup to figure out the correct workflow for the node.

  Returns
    The workflow associated with the node, or the default workflow if there is no workflow associated with that node.
  Throws
    `RepositoryException`
  See Also
    `WorkflowManagerImpl.getWorkflowForNode(ContentContext, ID)`

### getPropertyBytes

    public InputStream getPropertyBytes(ID propertyId)
                                 throws AuthorizationException,
                                        NoSuchPropertyException

  Returns the bytes for the given property.

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

  This is a convenience method to NodeOps.getPropertyBytes() and does not keep the retrieved values in memory as part of this instance.

  Throws
    `AuthorizationException` - - if the user attempting the operation is not authrorized.
    `NoSuchPropertyException` - - if the propertyId is not a valid one.

### toString

    public String toString()

  Returns the attributes of this Node in a String.

  Overrides:
    `toString` in class `ContentEntity`

### clone

    public Object clone()
                 throws CloneNotSupportedException

  Clones a node with its properties and values. Note that binary value streams of property values are not cloned, but merely copied.

  Overrides:
    `clone` in class `Object`
  Returns
    A clone of the node.
  Throws
    `CloneNotSupportedException` - If the clone fails.

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2006 BEA Systems, Inc. All Rights Reserved