|
Oracle Fusion Middleware Java API for Oracle WebLogic Portal 10g Release 3 (10.3.2) E14255-01 |
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object
com.bea.content.ContentEntity
com.bea.content.Node
public class Node
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. <p/> 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. <p/> 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. <p/> 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. <p/> 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. <p/> 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. <p/> The following are some rules related to the node's path:
<p/> A Node's Properties may be lazy loaded, depending on the repository implementation and operation. <p/> 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. <p/> For Nodes in the WLP Repository, the current list of native sortable and filterable properties is:
<p/>
PathHelper.SEPARATOR
, Serialized FormNested Class Summary | |
---|---|
static class |
Node.SYSTEM_PROPERTIES |
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 |
---|
@Deprecated
public static final int HIERARCHY
@Deprecated
public static final int CONTENT
@Deprecated
public static final int NODE
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.
Constructor Detail |
---|
@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)
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/foo2properties
- - Properties for this Node, or NULL if none are defined.type
- - the (deprecated) type of Node, either HIERARCHY
or CONTENT
.public Node(Calendar createdDate, String createdBy, boolean hasChildren, ID id, String modifiedBy, Calendar modifiedDate, ObjectClass objectClass, ID parentId, String path, Property[] properties)
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/foo2properties
- - Properties for this Node, null if none are defined or if lazy-loading should be used.Method Detail |
---|
public Calendar getCreatedDate()
public void setCreatedDate(Calendar createdDate)
createdDate
- The node's created date.public String getCreatedBy()
public void setCreatedBy(String createdBy)
createdBy
- The user who created this node.public String getModifiedBy()
public void setModifiedBy(String modifiedBy)
modifiedBy
- The user who modified this node.public Calendar getModifiedDate()
public void setModifiedDate(Calendar modifiedDate)
modifiedDate
- The date this node was last modified.public String getName()
public void setName(String name)
name
- The new node namepublic void setNodeOps(NodeOps nodeOps)
nodeOps
- The nodeOps.public void setWorkflowOps(WorkflowOps workflowOps)
workflowOps
- The WorkflowOps.public ID getObjectClassId()
public ObjectClass getObjectClass()
public void setObjectClass(ObjectClass objectClass)
objectClass
- The node's ObjectClass.public ID getParentId()
public void setParentId(ID parentId)
parentId
- The node's parent node id.public String getPath()
public String getURLEncodedPath()
ShowPropertyServlet
. This is a UTF-8 URLEncoded path leaving the '/'
character intact for use in that context.public void setPath(String path)
path
- The node's path.
@Deprecated
public int getLifeCycleStatus()
getWorkflowStatus()
Workflow.PUBLISHED
or Workflow.RETIRED
.Workflow
.public int getWorkflowStatus()
Workflow.PUBLISHED
or Workflow.RETIRED
.Workflow
.
@Deprecated
public void setLifeCycleStataus(int lifeCycleStatus)
setWorkflowStatus(int)
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.lifeCycleStatus
- The workflow status as defined in the Workflow
object.public void setWorkflowStatus(int workflowStatus)
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.workflowStatus
- The workflow status as defined in the Workflow
object.public boolean isRetired()
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.getWorkflowStatus()
public void isRetired(boolean isRetired)
Workflow.RETIRED
will be ignored.isRetired
- True if the node should be retired.public Property getPrimaryProperty() throws RepositoryException
RepositoryException
- If the retrieval fails.public Property getProperty(String name) throws AuthorizationException
isPropertiesNull()
.name
- The name of the property to retrieve.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.
If the specified property does not exist in the node, it will return null.
public Property[] getProperties(String name) throws AuthorizationException
isPropertiesNull()
.name
- The name, indexedName or partially indexedName of the property to retrieve.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.
If the specified property does not exist in the node, it will return null.
public Property[] getProperties() throws AuthorizationException
isPropertiesNull()
.AuthorizationException
- - if the user attempting the operation is not authorized.public Property[] getProperties(boolean returnPartiallyLoadedProperties) throws AuthorizationException
isPartiallyLoadedProperties()
<p/> If you need to check if the Node instance in memory has its Properties set, use isPropertiesNull()
.returnPartiallyLoadedProperties
- Returns the properties loaded in memory if true, otherwise loads the entire set and returns those.AuthorizationException
- - if the user attempting the operation is not authorized.public void setProperties(Property[] properties)
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. <p/> 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.properties
- The properties to set.public void setProperty(Property property)
property
- The property to set.public boolean isPropertiesNull()
@Deprecated
public int getType()
HIERARCHY
or CONTENT
.
@Deprecated
public void setType(int type)
HIERARCHY
or CONTENT
.type
- The type of the node.public boolean hasChildren()
public void hasChildren(boolean hasChildren)
For repository implementation use only. This method should be called by SPI implementors when returning a Node object to the VCR.
hasChildren
- True if this node has children.
@Deprecated
public Node[] getChildren()
throws AuthorizationException
INodeManager.getNodes(ContentContext,ID)
instead.INodeManager.getNodes(ContentContext,ID)
instead. This is a convenience method and does not keep the retrieved values in memory as part of this instance.AuthorizationException
- - if the user attempting the operation is not authorized.
@Deprecated
public Node[] getContentChildren()
throws AuthorizationException
INodeManager.getNodes(ContentContext,ID)
instead.AuthorizationException
- - if the user attempting the operation is not authorized.
@Deprecated
public Node[] getHierarchyChildren()
throws AuthorizationException
INodeManager.getNodes(ContentContext,ID)
instead.AuthorizationException
- - if the user attempting the operation is not authorized.public ID getWorkflowId()
public void setWorkflowId(ID workflowId)
workflowId
- Set the workflowId for the node.public Workflow getWorkflow() throws RepositoryException
RepositoryException
- if the retrieval of the workflow fails.WorkflowManagerImpl.getWorkflowForNode(ContentContext,ID)
public InputStream getPropertyBytes(ID propertyId) throws AuthorizationException, NoSuchPropertyException
WARNING: If using this interface to retrieve binary content from a WLP Repository, please read the javadoc for IRepositoryConfig
and BinaryValue
<p/> This is a convenience method to INodeManager.getStream() and DOES NOT cache the retrieved values. <p/>
propertyId
- The property id of the binary property to retrieve. Retrieved from the Property
.AuthorizationException
- - if the user attempting the operation is not authorized.NoSuchPropertyException
- - if the propertyId is not valid.public String toString()
toString
in class ContentEntity
public Object clone() throws CloneNotSupportedException
clone
in class ContentEntity
CloneNotSupportedException
- If the clone fails.
|
Oracle Fusion Middleware Java API for Oracle WebLogic Portal 10g Release 3 (10.3.2) E14255-01 |
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Copyright © 2010, Oracle. All rights reserved.