|
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 |
java.lang.Object com.bea.content.ContentEntity com.bea.content.PropertyDefinition
public class PropertyDefinition
PropertyDefinition defines the shape of a Property. It describes the Property type (binary, boolean, string, double, calendar, long, link), whether it is required, whether it is editable, the default value and restricted values, if applicable.
A PropertyDefinition may contain a PropertyChoice array. This is a list of values that may be selected for a Property's values.
Rules for a PropertyDefinition are as follows.
An ObjectClass is defined using PropertyDefinitions. ObjectClasses can be nested within one another. As an example, consider an ObjectClass 'Address' with PropertyDefinitions for 'street', 'city', and 'zipcode'. Another ObjectClass called 'PersonalInformation' contains PropertyDefinitions for 'firstname', 'lastname', etc. Now 'PersonalInformation' can also refer to 'Address' as a "nested" ObjectClass. Those PropertyDefinitions that belong to the 'Address' ObjectClass are then considered "nested" and 'Address' is an ObjectClass that is nested in 'PersonalInformation'.
In the above example, 'PersonalInformation' is called the "root level container", and the two PropertyDefinitions 'firstname', 'lastname' are not considered nested.
Here is a code example using nested property definitions:
// 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);
Field Summary | |
---|---|
static int |
INHERITED
An inherited type indicates a property definition which is a part of the object class due to the definition's object class extending another object class. |
static int |
NATIVE
A native type indicates a property definition explicitly defined on a given object class. |
static int |
OVERRIDDEN
An overridden type indicates a property definition which was inherited and then was further modified to override the original definition in some fashion. |
Fields inherited from class com.bea.content.ContentEntity |
---|
id |
Constructor Summary | |
---|---|
PropertyDefinition(ID nestedObjectClassId,
ID id,
String name,
int type,
boolean isMandatory,
boolean isMultiValued,
String description)
Constructs PropertyDefinition without PropertyChoices that represents a nested ObjectClass . |
|
PropertyDefinition(ID id,
String name,
String reference,
int type,
boolean isReadOnly,
boolean isRestricted,
boolean isMandatory,
boolean isMultiValued,
boolean isPrimary,
String description)
Constructs PropertyDefinition without PropertyChoices. |
|
PropertyDefinition(PropertyChoice[] propertyChoices,
ID id,
String name,
String reference,
int type,
boolean isReadOnly,
boolean isRestricted,
boolean isMandatory,
boolean isMultiValued,
boolean isPrimary,
String description)
Constructs the PropertyDefinition with all attributes. |
Method Summary | |
---|---|
Object |
clone()
Clones a PropertyDefinition with its property choices. |
int |
compareTo(PropertyDefinition pd)
Implements the Comparable interface based on the property definition's name. |
String |
getDescription()
Gets the description. |
String |
getName()
Returns the name of this PropertyDefinition. |
ObjectClass |
getNestedObjectClass()
Return the object class associated with this property definition if is type NESTED. |
ID |
getNestedObjectClassId()
Gets the nested object class id that this property definition represents. |
PropertyChoice[] |
getPropertyChoices()
Returns the array of PropertyChoices. |
int |
getPropertyDefinitionType()
Gets the property definition type for this definition. |
String |
getReference()
Returns a means by which instances of properties for this PropertyDefinition may be referenced. |
int |
getType()
Gets the defined data type. |
boolean |
isMandatory()
Returns true if a value for the Property is required. |
void |
isMandatory(boolean isMandatory)
Set to true if a value for the Property is required, or false otherwise. |
boolean |
isMultiValued()
Returns true if the Property can have multiple values. |
void |
isMultiValued(boolean isMultiValued)
Set to true if the Property can have multiple values, false otherwise. |
boolean |
isNested()
Indicates whether this PropertyDefinition belongs to an Objectclass that is nested inside another ObjectClass. |
void |
isNested(boolean isNested)
Indicates whether this PropertyDefinition belongs to an Objectclass that is nested inside another ObjectClass. |
boolean |
isPrimary()
Returns true if this PropertyDefinition represents the primary PropertyDefinition for its ObjectClass. |
void |
isPrimary(boolean isPrimary)
Set to true if this PropertyDefinition represents the primary PropertyDefinition for its ObjectClass. |
boolean |
isReadOnly()
Returns true if a value for the Property cannot be edited. |
void |
isReadOnly(boolean isReadOnly)
Set to true if a value for the Property cannot be edited, or false otherwise. |
boolean |
isRestricted()
Returns true if a value for the Property is restricted to the available choices. |
void |
isRestricted(boolean isRestricted)
Set to true if a value for the Property is restricted to the available choices, or false otherwise. |
boolean |
isSearchable()
Returns true if a value for the Property should be indexed when nodes of this type are indexed in the repository's full-text search implementation. |
void |
isSearchable(boolean isSearchable)
Set to true if a value for the Property should be indexed when nodes of this type are indexed in the repository's full-text search implementation. |
void |
setDescription(String description)
Sets the description. |
void |
setMandatory(boolean isMandatory)
Set to true if a value for the Property is required, or false otherwise. |
void |
setMultiValued(boolean isMultiValued)
Set to true if the Property can have multiple values, false otherwise. |
void |
setName(String name)
Sets the name of this PropertyDefinition. |
void |
setNested(boolean isNested)
Indicates whether this PropertyDefinition belongs to an Objectclass that is nested inside another ObjectClass. |
void |
setObjectClassOps(ObjectClassOps objectClassOps)
Sets the ObjectClassOps to perform objectclass lookup for a nested property. |
void |
setPrimary(boolean isPrimary)
Set to true if this PropertyDefinition represents the primary PropertyDefinition for its ObjectClass. |
void |
setPropertyChoices(PropertyChoice[] propertyChoices)
Sets the array of PropertyChoices. |
void |
setReadOnly(boolean isReadOnly)
Set to true if a value for the Property cannot be edited, or false otherwise. |
void |
setReference(String reference)
Sets a means by which all instances of properties for this PropertyDefinition may be referenced. |
void |
setRestricted(boolean isRestricted)
Set to true if a value for the Property is restricted to the available choices, or false otherwise. |
void |
setSearchable(boolean isSearchable)
Set to true if a value for the Property should be indexed when nodes of this type are indexed in the repository's full-text search implementation. |
void |
setType(int type)
Sets the defined data type id. |
String |
toString()
Returns the PropertyDefinition attributs as 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 |
---|
public static final int NATIVE
public static final int INHERITED
public static final int OVERRIDDEN
Constructor Detail |
---|
public PropertyDefinition(PropertyChoice[] propertyChoices, ID id, String name, String reference, int type, boolean isReadOnly, boolean isRestricted, boolean isMandatory, boolean isMultiValued, boolean isPrimary, String description)
propertyChoices
- - available value choices for
a Property that is defined by this PropertyDefinition.id
- - the unique id for this PropertyDefinitionname
- - the name of this PropertyDefinition that
is unique relative to its ObjectClass.reference
- - an external reference for all
Properties defined by this PropertyDefinition. In the
WLP Repository, this is the column name for an
explicit property.type
- - the type of this PropertyDefinition.isReadOnly
- - true if a Property defined by
this PropertyDefinition is intended to not be writable,
false otherwise.isRestricted
- - true if a Property defined by
this PropertyDefinition may only contain value(s)
defined in this PropertyDefinitions PropertyChoice array,
false otherwiseisMandatory
- - true if a Property defined by
this PropertyDefinition must contain a non-null value
and in the case of a String must not be empty, false otherwiseisMultiValued
- - true if a Property defined by
this PropertyDefinition may contain multiple values,
false otherwise.isPrimary
- - true if the PropertyDefinition is the
Primary PropertyDefinition for the ObjectClass.description
- - a description of this PropertyDefinition.public PropertyDefinition(ID id, String name, String reference, int type, boolean isReadOnly, boolean isRestricted, boolean isMandatory, boolean isMultiValued, boolean isPrimary, String description)
id
- - the unique id for this PropertyDefinitionname
- - the name of this PropertyDefinition that
is unique relative to its ObjectClass.reference
- - an external reference for all
Properties defined by this PropertyDefinition. In the
WLP Repository, this is the column name for an
explicit property.type
- - the type of this PropertyDefinition.isReadOnly
- - true if a Property defined by
this PropertyDefinition is intended to not be writable,
false otherwise.isRestricted
- - true if a Property defined by
this PropertyDefinition may only contain value(s)
defined in this PropertyDefinitions PropertyChoice array,
false otherwiseisMandatory
- - true if a Property defined by
this PropertyDefinition must contain a non-null value
and in the case of a String must not be empty, false otherwise.isMultiValued
- - true if a Property defined by
this PropertyDefinition may contain multiple values,
false otherwise.isPrimary
- - true if the PropertyDefinition is the
Primary PropertyDefinition for the ObjectClass.description
- - a description of this PropertyDefinition.public PropertyDefinition(ID nestedObjectClassId, ID id, String name, int type, boolean isMandatory, boolean isMultiValued, String description)
ObjectClass
.
There is no way to set propertyChoices
, isReadOnly
, reference
, isRestricted
,
or isPrimary
variables, as they have to be null
or false
for a nested type.
nestedObjectClassId
- - the unique id of the nested ObjectClass
that this
PropertyDefinition represents.id
- - the unique id for this PropertyDefinitionname
- - the name of this PropertyDefinition that
is unique relative to its ObjectClass.type
- - the type of this PropertyDefinition.isMandatory
- - true if a Property defined by
this PropertyDefinition must contain a non-null value
and in the case of a String must not be empty, false otherwise.isMultiValued
- - true if a Property defined by
this PropertyDefinition may contain multiple values,
false otherwise.description
- - a description of this PropertyDefinition.Method Detail |
---|
public String getDescription()
public void setDescription(String description)
description
- The description.public PropertyChoice[] getPropertyChoices()
public void setPropertyChoices(PropertyChoice[] propertyChoices)
propertyChoices
- The property choices for this property definition.public String getName()
Property.NESTED_DELIMITER
between each parent and child property definition name.
The delimiter is not valid for use within the actual name, only to seperate the parent/child names.
public void setName(String name)
Property.NESTED_DELIMITER
between each parent and child property definition name.
The delimiter is not valid for use within the actual name, only to seperate the parent/child names.
name
- The name of this property definition.public String getReference()
public void setReference(String reference)
reference
- The reference value. A null value means that instances of this property definition are not
referenced.public int getType()
Property
for the valid types.
public void setType(int type)
Property
for the valid types.
type
- The data type.public void setObjectClassOps(ObjectClassOps objectClassOps)
objectClassOps
- The objectClassOps of the SPI for this repository.public ObjectClass getNestedObjectClass() throws RepositoryException
RepositoryException
- If this operation fails.public ID getNestedObjectClassId()
Property.NESTED
public int getPropertyDefinitionType()
NATIVE
, INHERITED
or
OVERRIDDEN
. This is system managed and therefore is not settable.
public boolean isReadOnly()
public void isReadOnly(boolean isReadOnly)
isReadOnly
- True if the property is read-only.public void setReadOnly(boolean isReadOnly)
isReadOnly
- True if the property is read-only.public boolean isRestricted()
public void isRestricted(boolean isRestricted)
isRestricted
- True if the property value(s) is/are restricted.public void setRestricted(boolean isRestricted)
isRestricted
- True if the property value(s) is/are restricted.public boolean isMultiValued()
public void isMultiValued(boolean isMultiValued)
isMultiValued
- True if the property can have multiple values.public void setMultiValued(boolean isMultiValued)
isMultiValued
- True if the property can have multiple values.public boolean isMandatory()
public void isMandatory(boolean isMandatory)
isMandatory
- True if the property requires a value.public void setMandatory(boolean isMandatory)
isMandatory
- True if the property requires a value.public boolean isSearchable()
public void isSearchable(boolean isSearchable)
isSearchable
- True if properties should be indexed by the repository's full-text search implementation.public void setSearchable(boolean isSearchable)
isSearchable
- True if properties should be indexed by the repository's full-text search implementation.public boolean isNested()
public void isNested(boolean isNested)
isNested
- True if this property definition is nested.public void setNested(boolean isNested)
isNested
- True if this property definition is nested.public boolean isPrimary()
public void isPrimary(boolean isPrimary)
isPrimary
- True if this properfy definition is the primary property definition for its containing object
class.public void setPrimary(boolean isPrimary)
isPrimary
- True if this properfy definition is the primary property definition for its containing object
class.public String toString()
toString
in class ContentEntity
public Object clone() throws CloneNotSupportedException
clone
in class ContentEntity
CloneNotSupportedException
- If the clone fails.public int compareTo(PropertyDefinition pd)
compareTo
in interface Comparable<PropertyDefinition>
pd
- The property definition to compare to.
|
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 |