Interface NodeDefinition
-
- All Superinterfaces:
ItemDefinition
- All Known Subinterfaces:
NodeDefinitionTemplate
- All Known Implementing Classes:
NodeDefinitionImpl
public interface NodeDefinition extends ItemDefinition
A node definition. Used in node type definitions.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description boolean
allowsSameNameSiblings()
Reports whether this child node can have same-name siblings.NodeType
getDefaultPrimaryType()
Gets the default primary node type that will be assigned to the child node if it is created without an explicitly specified primary node type.java.lang.String
getDefaultPrimaryTypeName()
Returns the name of the default primary node type.java.lang.String[]
getRequiredPrimaryTypeNames()
Returns the names of the required primary node types.NodeType[]
getRequiredPrimaryTypes()
Gets the minimum set of primary node types that the child node must have.-
Methods inherited from interface javax.jcr.nodetype.ItemDefinition
getDeclaringNodeType, getName, getOnParentVersion, isAutoCreated, isMandatory, isProtected
-
-
-
-
Method Detail
-
getRequiredPrimaryTypes
NodeType[] getRequiredPrimaryTypes()
Gets the minimum set of primary node types that the child node must have. Returns an array to support those implementations with multiple inheritance. This method never returns an empty array. If this node definition places no requirements on the primary node type, then this method will return an array containing only theNodeType
object representingnt:base
, which is the base of all primary node types and therefore constitutes the least restrictive node type requirement. Note that any particular node instance still has only one assigned primary node type, but in multiple-inheritance-supporting implementations theRequiredPrimaryTypes
attribute can be used to restrict that assigned node type to be a subtype of all of a specified set of node types.In implementations that support node type registration an
NodeDefinition
object may be acquired (in the form of aNodeDefinitionTemplate
) that is not attached to a liveNodeType
. In such cases this method returnsnull
.- Returns:
- an array of
NodeType
objects.
-
getRequiredPrimaryTypeNames
java.lang.String[] getRequiredPrimaryTypeNames()
Returns the names of the required primary node types.If this
NodeDefinition
is acquired from a liveNodeType
this list will reflect the node types returned bygetRequiredPrimaryTypes
, above.If this
NodeDefinition
is actually aNodeDefinitionTemplate
that is not part of a registered node type, then this method will return the required primary types as set in that template. If that template is a newly-created empty one, then this method will return null.
- Returns:
- a String array
- Since:
- JCR 2.0
-
getDefaultPrimaryType
NodeType getDefaultPrimaryType()
Gets the default primary node type that will be assigned to the child node if it is created without an explicitly specified primary node type. This node type must be a subtype of (or the same type as) the node types returned bygetRequiredPrimaryTypes
.If
null
is returned this indicates that no default primary type is specified and that therefore an attempt to create this node without specifying a node type will throw aConstraintViolationException
.In implementations that support node type registration an
NodeDefinition
object may be acquired (in the form of aNodeDefinitionTemplate
) that is not attached to a liveNodeType
. In such cases this method returnsnull
.- Returns:
- a
NodeType
.
-
getDefaultPrimaryTypeName
java.lang.String getDefaultPrimaryTypeName()
Returns the name of the default primary node type.If this
NodeDefinition
is acquired from a liveNodeType
this list will reflect the NodeType returned by getDefaultPrimaryType, above.If this
NodeDefinition
is actually aNodeDefinitionTemplate
that is not part of a registered node type, then this method will return the required primary types as set in that template. If that template is a newly-created empty one, then this method will returnnull
.- Returns:
- a String
- Since:
- JCR 2.0
-
allowsSameNameSiblings
boolean allowsSameNameSiblings()
Reports whether this child node can have same-name siblings. In other words, whether the parent node can have more than one child node of this name.If this
NodeDefinition
is actually aNodeDefinitionTemplate
that is not part of a registered node type, then this method will return the same name siblings status as set in that template. If that template is a newly-created empty one, then this method will returnfalse
.- Returns:
- a boolean.
-
-