javax.jcr.nodetype
Interface ItemDefinition

All Known Subinterfaces:
NodeDefinition, PropertyDefinition

public interface ItemDefinition

Superinterface of NodeDefinition and PropertyDefinition.


Method Summary
 NodeType getDeclaringNodeType()
          Gets the node type that contains the declaration of this ItemDefinition.
 java.lang.String getName()
          Gets the name of the child item.
 int getOnParentVersion()
          Gets the on-parent-version status of the child item.
 boolean isAutoCreated()
          Reports whether the item is to be automatically created when its parent node is created.
 boolean isMandatory()
          Reports whether the item is mandatory.
 boolean isProtected()
          Reports whether the child item is protected.
 

Method Detail

getDeclaringNodeType

NodeType getDeclaringNodeType()
Gets the node type that contains the declaration of this ItemDefinition.

Returns:
a NodeType object.

getName

java.lang.String getName()
Gets the name of the child item. If "*", this ItemDefinition defines a residual set of child items. That is, it defines the characteristics of all those child items with names apart from the names explicitly used in other child item definitions.

Returns:
a String denoting the name or "*".

isAutoCreated

boolean isAutoCreated()
Reports whether the item is to be automatically created when its parent node is created. If true, then this ItemDefinition will necessarily not be a residual set definition but will specify an actual item name (in other words getName() will not return “*”).

Returns:
a boolean.

isMandatory

boolean isMandatory()
Reports whether the item is mandatory. A mandatory item is one that, if its parent node exists, must also exist.

This means that a mandatory single-value property must have a value (since there is no such thing a null value). In the case of multi-value properties this means that the property must exist, though it can have zero or more values.

An attempt to save a node that has a mandatory child item without first creating that child item will throw a ConstraintViolationException on save.

Returns:
a boolean

getOnParentVersion

int getOnParentVersion()
Gets the on-parent-version status of the child item. This governs what to do if the parent node of this child item is versioned; an OnParentVersionAction.

Returns:
an int.

isProtected

boolean isProtected()
Reports whether the child item is protected. In level 2 implementations, a protected item is one that cannot be removed (xcept by removing its parent) or modified through the the standard write methods of this API (that is, Item.remove, Node.addNode, Node.setProperty and Property.setValue).

A protected node may be removed or modified (in a level 2 implementation), however, through some mechanism not defined by this specification or as a side-effect of operations other than the standard write methods of the API.

Returns:
a boolean.