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 Property

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

All Implemented Interfaces
  Serializable

    public class Property

extends ContentEntity

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.

See Also
  Serialized Form

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.
`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.
`Value` | `getValue()` Gets the first Value.
`Value[]` | `getValues()` Returns an Array of the Property's Values.
`boolean` | `hasValue()` Returns true if getValues() contains an instance of Value in the array.
`boolean` | `isDirty()` Returns true when the value(s) for this property have change since construction.
`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
`equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### UNDEFINED

    public static final int UNDEFINED

  If a Property's type is not set, it will be set to this by default.

  See Also
    Constants Summary

### BOOLEAN

    public static final int BOOLEAN

  A Constant to define if the Property is a Boolean data type.

  See Also
    Constants Summary

### LONG

    public static final int LONG

  A Constant to define if the Property is a Long data type.

  See Also
    Constants Summary

### DOUBLE

    public static final int DOUBLE

  A Constant to define if the Property is a Double data type.

  See Also
    Constants Summary

### STRING

    public static final int STRING

  A Constant to define if the Property is a String data type.

  See Also
    Constants Summary

### CALENDAR

    public static final int CALENDAR

  A Constant to define if the Property is a Calendar data type.

  See Also
    Constants Summary

### BINARY

    public static final int BINARY

  A Constant to define if the Property is a Binary data type.

  See Also
    Constants Summary

### NESTED

    public static final int NESTED

  A Constant to define if the Property is a nested type. If constructing a Property of nested type, the Value should be of a nested type.

  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 an array of Property objects. These Property objects contain the properties and values from the nested ObjectClass.

  See Also
    Constants Summary

### LINK

    public static final int LINK

  A Constant to define if the Property is a Link property type (holds an ID which refers to a Node).

  See Also
    Constants Summary

### NESTED_DELIMITER

    public static final String NESTED_DELIMITER

  The delimiter used for nested property names.

  See Also
    Constants Summary

Constructor Detail

### Property

    public Property(String name)

  Constructor with just the name. This may be used when creating a property whose type is defined by the PropertyDefinition.

  Parameters
    `name` - - the unique name (relative to the Node) of this Property.

### Property

    public Property(String name,
                    Value value)

  Constructor for a single value without type. After using this constructor a call to getValue will return the value passed in. A call to getValues will return an array of size one with this value at [0]. This may be used when creating a property whose type is defined by the PropertyDefinition.

  Parameters
    `name` - - the unique name (relative to the Node) of this Property.
    `value` - - the value for this Property.

### Property

    public Property(String name,
                    Value[] values)

  Constructor for multiple values without type. This may be used when creating a property whose type is defined by the PropertyDefinition.

  Parameters
    `name` - - the unique name (relative to the Node) of this Property.
    `values` - - the array of values for this Property.

### Property

    public Property(ID id,
                    String name,
                    int type,
                    Value[] values)

  Constructor with all values.

  Parameters
    `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

### getName

    public String getName()

  Returns the name of the Property. This name is unique to the Node. If this is a nested type, the name will reflect the nested hierarchy with `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.

### setName

    public void setName(String name)

  Sets the name of the property that is unique to the Node. If this is a nested type, the name will reflect the nested hierarchy with `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.

### getIndexedName

    public String getIndexedName()

  Returns the indexed name of the Property. This name is unique to the Node. This name is only used for multivalued nested types, to show the indexed order and be able to uniquely identify each property, ie person.addresses[0].city, where addresses is the multivalued nested type. The indexedName will be populated when the Property is retrieved from the DB, which means that it will not exist until after it is persisted for the first time.

### getType

    public int getType()

  Gets the type of the Property.

### setType

    public void setType(int type)

  Sets the type of the Property.

### getValue

    public Value getValue()

  Gets the first Value. Useful for single value Property.

### getValues

    public Value[] getValues()

  Returns an Array of the Property's Values.

### setValues

    public void setValues(Value[] values)

  Sets the properties values.

### setValue

    public void setValue(Value value)

  Sets a Value for the Property.

### addValue

    public void addValue(Value value)

  Add a value to the current list of values

  Parameters
    `value` -

### hasValue

    public boolean hasValue()

  Returns true if getValues() contains an instance of Value in the array.

### valuesEqual

    public boolean valuesEqual(Value[] otherValues)

  Compares property's values against a value array. Returns true if they are equal. This method will not return the correct value if the property value is binary.

### toString

    public String toString()

  Returns the Property name and values as a String in the format name: value1, value2, value3

  Overrides:
    `toString` in class `ContentEntity`

### toPrintString

    public String toPrintString()

  Returns the Property name and values as a String in the format name: value1, value2, value3, along with the property id.

### isDirty

    public boolean isDirty()

  Returns true when the value(s) for this property have change since construction.

  Returns
    true if dirty.

### clone

    public Object clone()
                 throws CloneNotSupportedException

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

  Overrides:
    `clone` in class `Object`
  Returns
    A clone of the property.
  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