com.bea.content.virtual.version
Class VersionableContent

java.lang.Object
  extended by com.bea.content.virtual.version.VersionableContent
All Implemented Interfaces
Serializable, Cloneable
Direct Known Subclasses:
Version

public class VersionableContent
extends Object
implements Serializable, Cloneable

VersionableContent maintains information on a version of a VirtualNode.

See Also
Serialized Form

Constructor Summary
VersionableContent(int status, String comment, Property[] properties)
           
 
Method Summary
 void addProperty(Property property)
          does nothing
 Object clone()
          Clones a VersionableContent object with its properties and values.
 String getComment()
          Gets a comment on the version.
 Property[] getProperties()
          Gets the Properties for this node.
 Property[] getProperties(String name)
          Returns the property 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.
 int getStatus()
          Returns the workflow status for the VersionableContent.
 String getVersionComment()
          Excluded - see CR353875.
 void setComment(String comment)
          Sets a comment on the version.
 void setProperties(Property[] properties)
          Sets the Properties for this node.
 void setStatus(int status)
          Sets the workflow status for the VersionableContent.
 String toString()
          Returns the attributes of this Node in a String.
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

VersionableContent

public VersionableContent(int status,
                          String comment,
                          Property[] properties)
Method Detail

getStatus

public int getStatus()
Returns the workflow status for the VersionableContent. See Workflow

Returns
The workflow status.

setStatus

public void setStatus(int status)
Sets the workflow status for the VersionableContent. See Workflow

Parameters
status - The status to set

getComment

public String getComment()
Gets a comment on the version.


getVersionComment

public String getVersionComment()
Excluded - see CR353875. This is necessary for sorting/filtering results of a IVersionManager.search()

Returns
The comment.

setComment

public void setComment(String comment)
Sets a comment on the version.

Parameters
comment - The comment to set.

getProperty

public Property getProperty(String name)
Returns the property referenced by name or null if the property does not exist.

Parameters
name - The name of the property to retrieve.
Returns
The property.

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)
Returns the property referenced by name or null if the property does not exist.

Parameters
name - The name, indexedName or partially indexedName of the property to retrieve.
Returns
The properties, or null if the property does not exist.

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()
Gets the Properties for this node.


addProperty

public void addProperty(Property property)
does nothing


setProperties

public void setProperties(Property[] properties)
Sets the Properties for this node. Each property must have a corresponding PropertyDefinition defined in the Node's ObjectClass.


toString

public String toString()
Returns the attributes of this Node in a String.

Overrides:
toString in class Object

clone

public Object clone()
             throws CloneNotSupportedException
Clones a VersionableContent object 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 versionable content.
Throws
CloneNotSupportedException - If the clone fails.


Copyright © 2011, Oracle. All rights reserved.