Overview | Package | Class | Tree | Deprecated | Index | Help
| Copyright © 2000, 2009, Oracle and/or its affiliates. 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, Cloneable

    public class Node

extends ContentEntity
implements Cloneable

A Node represents a content element in a hierarchy of content elements. A node can be uniquely identified via its ID (preferable) or path.

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

All nodes may contain system metadata, such as name, path, parentId, created date, etc. The presence of system metadata depends upon the underlying repository's implementation; for example, some repositories may have no concept of a created date or a last modified by user. System metadata can be retrieved directly from the node, via methods such as Node.getName(). These methods return NULL if the system metadata does not exist. System metadata is common to all nodes, regardless of their ObjectClass, and is set by the repository. All nodes must have a non-empty node name. Node names must not contain either forward or backslashes.

Nodes also may contain Properties (user metadata) based on the ObjectClass (type) defined for it. Nodes may optionally have a single associated ObjectClass. The ObjectClass contains a set of Property Definitions, which specify which Properties a Node of that ObjectClass may contain. For example, if Node n is of ObjectClass o, and o has a single-valued String PropertyDefinition stringVal, then Node n may have a Property named 'stringVal' with a single-valued string Value.

The concept of a 'node type' is deprecated. Newly written client code should not use this concept when creating or retrieving nodes, and should consider other means for expressing this concept, such as using nodes of different ObjectClasses (or no ObjectClass), the folder concept, or by using a property definition. Node type 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. Both Content and Hierarchy Nodes may contain an ObjectClass and Properties.

Nodes are uniquely identified in a repository by an opaque uid on their ID. The uid could be a uuid, database id, the path, etc. The Repository root node is an artificial node (cannot be retrieved), which has a uid of either null or the empty string. All node IDs used by VCR client code must have the repository name specified.

All nodes have a path composed of non-empty node names that uniquely identifies it within the repository. The path varies according to who is using the node -- either VCR client code or Repository code.

From a VCR client perspective, the path should be in unix-like format starting with the repositoryname, such as /WLP_Repository/a/b/c where WLP_Repository is the repository name, a is a root level node name, and b is the name of a child node of a.

From a Repository implementation perspective, the path is identical, except it must not start with the repository name. Using the same example, the path in the repository would be /a/b/c.

The following are some rules related to the node's path:

- It must always begin with / and shouldn't end with it (there is node validation code that will remove any trailing forward slash). So neither of the following are valid: a/b/c/d or /a/b/d/d/.
- Since each node must have a name (except the repository root), a node path must not contain multiple / characters in a row. So this would not be valid: /repoName/a//b, but this would be valid: /repoName/a/b.
- For VCR clients (the general use case), it must begin with '/RepositoryName'
- For Repository implementations, it must not begin with '/RepositoryName' -- this portion of the path is added by the VCR automatically.
- Each part of it must correspond to an existing node name in the repository. So for '/RepositoryName/Foo/Bar/Baz', Foo and Bar must exist; Bar must be the name of the parent of 'Baz', 'Foo' must be the name of the parent of 'Bar'

A Node's Properties may be lazy loaded, depending on the repository implementation and operation.

Methods which return an `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 WLP Repository are found via the `ISortablePagedList.getNativeSortableProperties()` method on a paged list of Node objects.

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

- name
- createdDate
- createdBy
- path
- parentId
- modifiedDate
- modifiedBy
- type (content, hierarchy or node). (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 -- for use by repository implementations.
`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. Use `INodeManager.getNodes(ContentContext,ID)` instead.
`Node[]` | `getContentChildren()` Deprecated This method does not perform security check before returning results, therefore it may not return correct results. Use `INodeManager.getNodes(ContentContext,ID)` instead.
`String` | `getCreatedBy()` The user who created this node, or NULL if not present.
`Calendar` | `getCreatedDate()` The date this node was created on, or NULL if not present.
`Node[]` | `getHierarchyChildren()` Deprecated This method does not perform security check before returning results, therefore it may not return correct results. Use `INodeManager.getNodes(ContentContext,ID)` instead.
`int` | `getLifeCycleStatus()` Deprecated Please use `getWorkflowStatus()`
`String` | `getModifiedBy()` The user who last modified this Node, or NULL if not present.
`Calendar` | `getModifiedDate()` The Date when this Node was last modified, or NULL if not present.
`String` | `getName()` The Node name.
`ObjectClass` | `getObjectClass()` Retrieves the ObjectClass (possibly NULL) associated with this Node.
`ID` | `getObjectClassId()` Retrieves the id (possibly NULL) for the ObjectClass associated with this node.
`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[]` | `getProperties(boolean returnPartiallyLoadedProperties)` Gets the Properties for this node.
`Property[]` | `getProperties(String name)` Returns the properties referenced by name or null if the property does not exist.
`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
`String` | `getURLEncodedPath()` Returns a path which can be used in conjunction with the `ShowPropertyServlet`.
`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 (or may have 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's `Workflow` status 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.
`void` | `setNodeOps(NodeOps nodeOps)` Sets the NodeOps to perform operations on the repository.
`void` | `setObjectClass(ObjectClass objectClass)` Sets the ObjectClass associated with this Node
`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` | `setProperty(Property property)` Sets a property 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 workflow 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

    @Deprecated
    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

    @Deprecated
    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

    @Deprecated
    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 when querying nodes.

  See Also
    Constants Summary

Constructor Detail

### Node

    @Deprecated
    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 -- for use by repository implementations. VCR client code should use methods on INodeManager to create nodes.

  Parameters
    `createdDate` - - the date the Node was created, as defined by the Repository, or NULL if not present.
    `createdBy` - - the user id who created this Node, or NULL if not present.
    `hasChildren` - - true if this Node hasChildren, false otherwise. A repository may set hasChildren=true if it is expensive to determine if a Node has children.
    `id` - - the id for the Node.
    `modifiedBy` - - the user id who last modified this Node, or NULL if not present.
    `modifiedDate` - - the date the Node was modified, or NULL if not present.
    `objectClass` - - the ObjectClass associated with this Node, or NULL if an ObjectClass is not associated with this Node.
    `parentId` - - the Id for the parent of this Node, or NULL if the Node resides at root.
    `path` - - the path of the Node in unix-like format. For example, /foo/foo2
    `properties` - - Properties for this Node, or NULL if none are defined.
    `type` - - the (deprecated) 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 -- for use by repository implementations. VCR client code should use methods on INodeManager to create nodes.

  Parameters
    `createdDate` - - the date the Node was created, as defined by the Repository, or NULL if not present.
    `createdBy` - - the user id who created this Node, or NULL if not present.
    `hasChildren` - - true if this Node hasChildren, false otherwise. A repository may set hasChildren=true if it is expensive to determine if a node has children.
    `id` - - the id for the Node. The ID uid must be set.
    `modifiedBy` - - the user id who last modified this Node, or NULL if not present.
    `modifiedDate` - - the date the Node was modified, or NULL if not present.
    `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, without the repository name. For example, /foo/foo2
    `properties` - - Properties for this Node, null if none are defined or if lazy-loading should be used.

Method Detail

### getCreatedDate

    public Calendar getCreatedDate()

  The date this node was created on, or NULL if not present.

  Returns
    The node's created date.

### setCreatedDate

    public void setCreatedDate(Calendar createdDate)

  Sets the date this node was created on. For repository implementation use only.

  Parameters
    `createdDate` - The node's created date.

### getCreatedBy

    public String getCreatedBy()

  The user who created this node, or NULL if not present.

  Returns
    The user who created this node.

### setCreatedBy

    public void setCreatedBy(String createdBy)

  Sets the user who created this node. For repository implementation use only.

  Parameters
    `createdBy` - The user who created this node.

### getModifiedBy

    public String getModifiedBy()

  The user who last modified this Node, or NULL if not present.

  Returns
    The user who modified this node.

### setModifiedBy

    public void setModifiedBy(String modifiedBy)

  Sets the user who last modified this Node. For repository implementation use only.

  Parameters
    `modifiedBy` - The user who modified this node.

### getModifiedDate

    public Calendar getModifiedDate()

  The Date when this Node was last modified, or NULL if not present.

  Returns
    The date this node was last modified.

### setModifiedDate

    public void setModifiedDate(Calendar modifiedDate)

  Sets the Date when this Node was last modified. For repository implementation use only.

  Parameters
    `modifiedDate` - The date this node was last modified.

### getName

    public String getName()

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

  Returns
    The node's name.

### setName

    public void setName(String name)

  Set the node's name. Replace the last element in the path. Must not contain forward or backward slashes. For repository implementation use only.

  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. For VCR internal use only.

  Parameters
    `nodeOps` - The nodeOps.

### 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. For VCR internal use only.

  Parameters
    `workflowOps` - The WorkflowOps.

### getObjectClassId

    public ID getObjectClassId()

  Retrieves the id (possibly NULL) for the ObjectClass associated with this node. A NULL objectClassID indicates the node has no ObjectClass.

  Returns
    The node's ObjectClass ID.

### getObjectClass

    public ObjectClass getObjectClass()

  Retrieves the ObjectClass (possibly NULL) associated with this Node.

  Returns
    The node's ObjectClass.

### setObjectClass

    public void setObjectClass(ObjectClass objectClass)

  Sets the ObjectClass associated with this Node

  Parameters
    `objectClass` - The node's ObjectClass.

### getParentId

    public ID getParentId()

  Gets the id for the parent of this node. For nodes which are top-level nodes, this value will be an ID populated with a valid repositoryName and a null uid.

  Returns
    The node's parent node id.

### setParentId

    public void setParentId(ID parentId)

  Sets this Node's parent id. For repository implementation use only.

  Parameters
    `parentId` - The node's parent node id.

### getPath

    public String getPath()

  The path where this Node resides. This is unique to the repository. Code calling the VCR can expect the path to begin with /repoName. Repositories should accept and return a path not starting with /repoName (the VCR will add this)

  Returns
    The node's path.

### getURLEncodedPath

    public String getURLEncodedPath()

  Returns a path which can be used in conjunction with the `ShowPropertyServlet`. This is a UTF-8 URLEncoded path leaving the `'/'` character intact for use in that context.

  Returns
    The URLEncoded path for this node.

### setPath

    public void setPath(String path)

  Sets the path of this Node. This is unique to the repository. For repository implementation use only.

  Parameters
    `path` - The node's path.

### getLifeCycleStatus

    @Deprecated
    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`.

  Returns
    The node's workflow status as defined in the node's `Workflow`.

### 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`.

  Returns
    The node's workflow status as defined in the node's `Workflow`.

### setLifeCycleStataus

    @Deprecated
    public void setLifeCycleStataus(int lifeCycleStatus)

  Deprecated Please use `setWorkflowStatus(int)`

  Sets the lifecycle status. For repository implementation use only. The Node workflowStatus does not follow the LifeCycle status changes. It may only be set to `Workflow.PUBLISHED` or `Workflow.RETIRED`. The default value is `Workflow.PUBLISHED`. This is used for such things as Content Selectors. When searching for published nodes, all those set as `Workflow.RETIRED` will be ignored.

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

### setWorkflowStatus

    public void setWorkflowStatus(int workflowStatus)

  Sets the workflow status. For repository implementation use only. The Node workflowStatus does not follow the Workflow status changes. It may only be set to `Workflow.PUBLISHED` or `Workflow.RETIRED`. The default value is `Workflow.PUBLISHED`. This is used for such things as Content Selectors. When searching for published nodes, all those set as `Workflow.RETIRED` will be ignored.

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

### isRetired

    public boolean isRetired()

  Returns true if the node's `Workflow` status is retired. The default value is false. This is used for such things as Content Selectors. When searching for published nodes, all those set as `Workflow.RETIRED` will be ignored.

  Returns
    The node's retired status.
  See Also
    `getWorkflowStatus()`

### isRetired

    public void isRetired(boolean isRetired)

  Sets the retired status for the node. For repository implementation use only. The default value is false. This is used for such things as Content Selectors. When searching for published nodes, all those set as `Workflow.RETIRED` will be ignored.

  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

  Returns
    The node's primary property.
  Throws
    `RepositoryException` - If the retrieval fails.

### 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.
  Throws
    `AuthorizationException` - - if the user attempting the operation is not authorized.

    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 property 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 getProperties(name) for retrieving all Properties using a non-indexedName.

    See `Property.getIndexedName()`

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

### getProperties

    public Property[] getProperties(String name)
                             throws AuthorizationException

  Returns the properties 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, indexedName or partially indexedName of the property to retrieve.
  Returns
    The properties, or null if the property does not exist.
  Throws
    `AuthorizationException` - - if the user attempting the operation is not authorized.

    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` objects returned are that of nested types, each returned `Property` will have a `Value` that is an array of `Property` objects.

    If the `Property` objects returned are that of multi valued nested types, each returned `Property` will have an array of `Value` objects, of which each is an array of `Property` objects.

    Nested Property objects can be retrieved directly by using the property name with delimiter (ie. myAddress.city). If the nested Property is not multivalued, the returned Property array will only have a single value, just as if using the getProperty(name) method. If a nested Property is multivalued, the index of that multivalued property can be reflected fully or partially in the name. If it is retrieved directly, ie myAddresses[0].city, the first address's city of the multivalued nested property will be returned just as myAddresses[1].city will retrieve the second address's city. If the non indexedName is used, ie myAddresses.city, then all cities will be returned. If using a partially indexed name to retrieve multiple Property objects, it has to start by being specific to unspecific, ie myAddresses[0].myNeighborhoods.name would be valid, while myAddresses.myNeighborhoods[0].name would not be valid. If the beginning branches of the nesting tree are not specified via indexing, then the following branches cannot be specified.

    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 Properties set, use `isPropertiesNull()`.

  Returns
    The properties of the node.
  Throws
    `AuthorizationException` - - if the user attempting the operation is not authorized.

### getProperties

    public Property[] getProperties(boolean returnPartiallyLoadedProperties)
                             throws AuthorizationException

  Gets the Properties for this node. Each property must have a corresponding PropertyDefinition defined in the Node's ObjectClass. Returns partially loaded properties if requested. A node may be constructed with only some of the properties that the Node's ObjectClass defines. If requested, this method may be used to return those without attempting to load those which may not be present.

  If you need to check if the Node has partially loaded properties, use `isPartiallyLoadedProperties()`

  If you need to check if the Node instance in memory has its Properties set, use `isPropertiesNull()`.

  Parameters
    `returnPartiallyLoadedProperties` - Returns the properties loaded in memory if true, otherwise loads the entire set and returns those.
  Returns
    The properties of the node.
  Throws
    `AuthorizationException` - - if the user attempting the operation is not authorized.

### setProperties

    public void setProperties(Property[] properties)

  Sets all properties for this node as specified. The node must still be persisted.

  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.

  All properties set will be persisted. For performance reasons, for setting just a single property, it is better to call setProperty( property ) for the single property which changed rather than calling this method.

  Further, if one of the properties on the Node is of type binary, its value will be null. Binary values are retrieved using the `INodeManager.getStream(ContentContext, ID, String)` method. So if this method is called with the retrieved Property with a null binary value, it will instruct the repository to overwrite the persisted binary value with a null value when the node is saved or otherwise updated.

  To avoid this problem, use the `getProperties(java.lang.String)` or `getProperty(java.lang.String)` method and call `Property.setValue(Value)` or `Property.setValues(Value[])` which will just mark only the property being changed as dirty.

  Parameters
    `properties` - The properties to set.

### setProperty

    public void setProperty(Property property)

  Sets a property for this node as specified.

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

  An existing property of the same name will be replaced. Otherwise a new property will be added.

  Parameters
    `property` - The property to set.

### isPropertiesNull

    public boolean isPropertiesNull()

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

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

### getType

    @Deprecated
    public int getType()

  Deprecated

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

  Returns
    The type of the node.

### setType

    @Deprecated
    public void setType(int type)

  Deprecated

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

  Parameters
    `type` - The type of the node.

### hasChildren

    public boolean hasChildren()

  True if this node has (or may have children). If the node has children they may be retrieved through the INodeManager methods.

  A repository may return true for hasChildren if it is expensive to determine if a Node has children.

  Returns
    True if this node has children.

### 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.

  A repository may set hasChildren to TRUE if it is expensive to determine if a Node has children.

  For repository implementation use only. This method should be called by SPI implementors when returning a Node object to the VCR.

  Parameters
    `hasChildren` - True if this node has children.

### getChildren

    @Deprecated
    public Node[] getChildren()
                       throws AuthorizationException

  Deprecated This method does not perform security check before returning results, therefore it may not return correct results. Use `INodeManager.getNodes(ContentContext,ID)` instead.

  Returns the children of this node. VCR Clients should call `INodeManager.getNodes(ContentContext,ID)` instead. This is a convenience method and does not keep the retrieved values in memory as part of this instance.

  Returns
    The children of the node.
  Throws
    `AuthorizationException` - - if the user attempting the operation is not authorized.

### getContentChildren

    @Deprecated
    public Node[] getContentChildren()
                              throws AuthorizationException

  Deprecated This method does not perform security check before returning results, therefore it may not return correct results. Use `INodeManager.getNodes(ContentContext,ID)` instead.

  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.

  Returns
    The content node children.
  Throws
    `AuthorizationException` - - if the user attempting the operation is not authorized.

### getHierarchyChildren

    @Deprecated
    public Node[] getHierarchyChildren()
                                throws AuthorizationException

  Deprecated This method does not perform security check before returning results, therefore it may not return correct results. Use `INodeManager.getNodes(ContentContext,ID)` instead.

  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.

  Returns
    The hierarchy node children.
  Throws
    `AuthorizationException` - - if the user attempting the operation is not authorized.

### 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` - if the retrieval of the workflow fails.
  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 WLP Repository, please read the javadoc for `IRepositoryConfig` and `BinaryValue`

  This is a convenience method to INodeManager.getStream() and DOES NOT cache the retrieved values.

  Parameters
    `propertyId` - The property id of the binary property to retrieve. Retrieved from the `Property`.
  Returns
    The stream for the given binary property. The caller must close the stream.
  Throws
    `AuthorizationException` - - if the user attempting the operation is not authorized.
    `NoSuchPropertyException` - - if the propertyId is not valid.

### 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 `ContentEntity`
  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 © 2000, 2009, 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.