|
Oracle Fusion Middleware Java API for Oracle WebLogic Portal 10g Release 3 (10.3.4) E14255-03 |
||||||||
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.Property
public class Property
Property is a name value pair, with the name being unique relative to the Node and the value is an Array of Value objects.
The Value object can represent either BinaryValue, Boolean, Calendar, Double, Long, String, or ID (link property -- link to a node) values.
If the property is multivalued it may contain 0..n Values. If it is not multivalued it may contain 0..1.
A Property is part of a Node and its shape is defined by a PropertyDefinition with the same name in it's Node's ObjectClass.
A property may represent both the content and meta-content for a Node.
Link properties have some special restrictions. They can only be created in extended repositories. A node must exist at the specified ID when the link property is created or saved.
Field Summary | |
---|---|
static int |
BINARY
A Constant to define if the Property is a Binary data type. |
static int |
BOOLEAN
A Constant to define if the Property is a Boolean data type. |
static int |
CALENDAR
A Constant to define if the Property is a Calendar data type. |
static int |
DOUBLE
A Constant to define if the Property is a Double data type. |
static int |
LINK
A Constant to define if the Property is a Link property type (holds an ID which refers to a Node). |
static int |
LONG
A Constant to define if the Property is a Long data type. |
static int |
NESTED
A Constant to define if the Property is a nested type. |
static String |
NESTED_DELIMITER
The delimiter used for nested property names. |
static int |
STRING
A Constant to define if the Property is a String data type. |
static int |
UNDEFINED
If a Property's type is not set, it will be set to this by default. |
Fields inherited from class com.bea.content.ContentEntity |
---|
id |
Constructor Summary | |
---|---|
Property(ID id,
String name,
int type,
Value[] values)
Constructor with all values. |
|
Property(String name)
Constructor with just the name. |
|
Property(String name,
Value value)
Constructor for a single value without type. |
|
Property(String name,
Value[] values)
Constructor for multiple values without type. |
Method Summary | |
---|---|
void |
addValue(Value value)
Add a value to the current list of values. |
Object |
clone()
Clones a property and its values. |
boolean |
equals(Object obj)
Indicates whether some other property is "equal to" this one. |
String |
getIndexedName()
Returns the indexed name of the Property. |
String |
getName()
Returns the name of the Property. |
int |
getType()
Gets the type of the Property. |
String |
getTypeName(int type)
Gets the String value of the given property type int. |
Value |
getValue()
Gets the first Value. |
Value[] |
getValues()
Returns an Array of the Property's Values. |
int |
hashCode()
Returns a hash code value for this property. |
boolean |
hasValue()
Returns true if any Value instance exists AND that instance has a value. |
boolean |
isDirty()
Returns true when the value(s) for this property have changed since construction. |
void |
removeValue(int position)
Remove a value from the current list of values. |
void |
removeValue(Value removeValue)
Remove a value from the current list of values. |
void |
setIndexedName(String indexedName)
Sets the indexed name of the property that is unique to the Node. |
void |
setName(String name)
Sets the name of the property that is unique to the Node. |
void |
setType(int type)
Sets the type of the Property. |
void |
setValue(Value value)
Sets a Value for the Property. |
void |
setValues(Value[] values)
Sets the properties values. |
String |
toPrintString()
Returns the Property name and values as a String in the format name: value1, value2, value3, along with the property id. |
String |
toString()
Returns the Property name and values as a String in the format name: value1, value2, value3 |
boolean |
valuesEqual(Value[] otherValues)
Compares property's values against a value array. |
Methods inherited from class com.bea.content.ContentEntity |
---|
getId, setId |
Methods inherited from class java.lang.Object |
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static final int UNDEFINED
public static final int BOOLEAN
public static final int LONG
public static final int DOUBLE
public static final int STRING
public static final int CALENDAR
public static final int BINARY
public static final int NESTED
For example: Property myProperty = new Property("myNestedProp", myNestedValue); The parameter "myNestedProp" is the name of the nested Property, which nests the properties of the ObjectClass that it represents. The parameter "myNestedValue" is a Value object that contains an array of Property objects. These nested Property objects contain the properties and values from the nested ObjectClass.
Here is a code example using nested properties:
// First create the nested and container ObjectClasses ID repId = new ID(repositoryName, null); // create nested type with a mandatory primary property PropertyDefinition[] pds = new PropertyDefinition[2]; pds[0] = new PropertyDefinition(repId, "stringType", null, Property.STRING, false, false, false, false, false, null); pds[1] = new PropertyDefinition(repId, "primaryType", null, Property.STRING, false, false, true, false, true, null); nestedType = new ObjectClass(repId, "NestedType", pds[1], pds); nestedType = typeManager.addType(context, nestedType); // create the container ObjectClass pds = new PropertyDefinition[2]; pds[0] = new PropertyDefinition(repId, "longType", null, Property.LONG, false, false, false, false, false, null); pds[1] = new PropertyDefinition(nestedType.getId(), repId, "nestedType", Property.NESTED, false, multiValued, "nested type"); container = new ObjectClass(repId, "container", null, pds); container = typeManager.addType(context, container); // Now create a Property that nests another Property Property [] nestedTypeProps = new Property[] { new Property("nestedType.stringType", new Value("hello")), new Property("nestedType.primaryType", new Value("primary")) }; Property [] props = new Property[] { new Property("longType", new Value((long)1)), new Property("nestedType", new Value(nestedTypeProps)) }; // Finally, create a node w/ mandatory property in the nested type node = nodeManager.addNode(context, repositoryPath + "node", null, null); node.setObjectClass(container); node.setProperties(props); node = nodeManager.save(context, node);
public static final int LINK
public static final String NESTED_DELIMITER
Constructor Detail |
---|
public Property(String name)
name
- - the unique name (relative to the Node) of
this Property.public Property(String name, Value value)
name
- - the unique name (relative to the Node) of
this Property.value
- - the value for this Property.public Property(String name, Value[] values)
name
- - the unique name (relative to the Node) of
this Property.values
- - the array of values for this Property.public Property(ID id, String name, int type, Value[] values)
id
- - the id for this Property.name
- - the unique name (relative to the Node) of
this Property.type
- - the type of this Property.values
- - the array of values for this Property.Method Detail |
---|
public String getName()
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.
public void setName(String name)
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.
name
- The property name.public String getIndexedName()
public void setIndexedName(String indexedName)
indexedName
- The indexed name.public int getType()
public void setType(int type)
type
- The property type as defined in the constants in this class.public String getTypeName(int type)
type
- The property type as defined in the constants in this class.
public Value getValue()
public Value[] getValues()
public void setValues(Value[] values)
values
- The properties values.public void setValue(Value value)
value
- The property value.public void addValue(Value value)
value
- The property value to add.public void removeValue(Value removeValue) throws RepositoryException
Value.compareTo(Object)
removeValue
- The value to remove
RepositoryException
- If the given value isn't found in the properties array.public void removeValue(int position) throws ArrayIndexOutOfBoundsException
position
- The array position (as found in getValues()
)
ArrayIndexOutOfBoundsException
- If the position given is not found in the properties array.public boolean hasValue()
public boolean valuesEqual(Value[] otherValues)
otherValues
- An array of values to compare against.
public String toString()
toString
in class ContentEntity
public String toPrintString()
public boolean isDirty()
public boolean equals(Object obj)
equals
in class Object
obj
- the reference object with which to compare.
public int hashCode()
hashCode
in class Object
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.4) E14255-03 |
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |