Interface ItemDefinition
-
- All Known Subinterfaces:
NodeDefinition,NodeDefinitionTemplate,PropertyDefinition,PropertyDefinitionTemplate
- All Known Implementing Classes:
NodeDefinitionImpl,PropertyDefinitionImpl
public interface ItemDefinitionSuperclass ofNodeDefinitionandPropertyDefinition.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description NodeTypegetDeclaringNodeType()Gets the node type that contains the declaration of thisItemDefinition.java.lang.StringgetName()Gets the name of the child item.intgetOnParentVersion()Gets theOnParentVersionstatus of the child item.booleanisAutoCreated()Reports whether the item is to be automatically created when its parent node is created.booleanisMandatory()Reports whether the item is mandatory.booleanisProtected()Reports whether the child item is protected.
-
-
-
Method Detail
-
getDeclaringNodeType
NodeType getDeclaringNodeType()
Gets the node type that contains the declaration of thisItemDefinition.In implementations that support node type registration an
ItemDefinitionobject may be acquired (in the form of aNodeDefinitionTemplateorPropertyDefinitionTemplate) that is not attached to a liveNodeType. In such cases this method returnsnull.- Returns:
- a
NodeTypeobject.
-
getName
java.lang.String getName()
Gets the name of the child item. If"*", thisItemDefinitiondefines 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.In implementations that support node type registration, if this
ItemDefinitionobject is actually a newly-created emptyPropertyDefinitionTemplateorNodeDefinitionTemplate, then this method will returnnull.- Returns:
- a
Stringdenoting the name or"*".
-
isAutoCreated
boolean isAutoCreated()
Reports whether the item is to be automatically created when its parent node is created. Iftrue, then thisItemDefinitionwill necessarily not be a residual set definition but will specify an actual item name (in other words getName() will not return "*").An autocreated non-protected item must be created immediately when its parent node is created in the transient session space. Creation of autocreated non-protected items is never delayed until
save.An autocreated protected item should be created immediately when its parent node is created in the transient session space. Creation of autocreated protected items should not be delayed until
save, though doing so does not violate JCR compliance.In implementations that support node type registration, if this
ItemDefinitionobject is actually a newly-created emptyPropertyDefinitionTemplateorNodeDefinitionTemplate, then this method will returnfalse.- 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
nullvalue). 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
ConstraintViolationExceptiononsave.In implementations that support node type registration, if this
ItemDefinitionobject is actually a newly-created emptyPropertyDefinitionTemplateorNodeDefinitionTemplate, then this method will returnfalse.An item definition cannot be both residual and mandatory.
- Returns:
- a
boolean
-
getOnParentVersion
int getOnParentVersion()
Gets theOnParentVersionstatus of the child item. This governs what occurs (in implementations that support versioning) when the parent node of this item is checked-in. One of:OnParentVersionAction.COPYOnParentVersionAction.VERSIONOnParentVersionAction.IGNOREOnParentVersionAction.INITIALIZEOnParentVersionAction.COMPUTEOnParentVersionAction.ABORT
In implementations that support node type registration, if this
ItemDefinitionobject is actually a newly-created emptyPropertyDefinitionTemplateorNodeDefinitionTemplate, then this method will returnOnParentVersionAction.COPY.- Returns:
- a
intconstant member ofOnParentVersionAction.
-
isProtected
boolean isProtected()
Reports whether the child item is protected. In level 2 implementations, a protected item is one that cannot be removed (except by removing its parent) or modified through the the standard write methods of this API (that is,Item.remove,Node.addNode,Node.setPropertyandProperty.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.
In implementations that support node type registration, if this
ItemDefinitionobject is actually a newly-created emptyPropertyDefinitionTemplateorNodeDefinitionTemplate, then this method will returnfalse.- Returns:
- a
boolean.
-
-