org.apache.jackrabbit.core.nodetype
Class NodeTypeDefinitionImpl

java.lang.Object
  extended by org.apache.jackrabbit.core.nodetype.NodeTypeDefinitionImpl
All Implemented Interfaces:
NodeTypeDefinition

public class NodeTypeDefinitionImpl
extends Object
implements NodeTypeDefinition

This class implements the NodeTypeDefinition interface. All method calls are delegated to the wrapped NodeTypeDef, performing the translation from Names to JCR names (and vice versa) where necessary.


Constructor Summary
NodeTypeDefinitionImpl(NodeTypeDef ntd, NamePathResolver resolver)
           
 
Method Summary
 NodeDefinition[] getDeclaredChildNodeDefinitions()
          Returns an array containing the child node definitions actually declared in this node type.
 PropertyDefinition[] getDeclaredPropertyDefinitions()
          Returns an array containing the property definitions actually declared in this node type.
 String[] getDeclaredSupertypeNames()
          Returns the names of the supertypes actually declared in this node type.
 String getName()
          Returns the name of the node type.
 String getPrimaryItemName()
          Returns the name of the primary item (one of the child items of the nodes of this node type).
 boolean hasOrderableChildNodes()
          Returns true if nodes of this type must support orderable child nodes; returns false otherwise.
 boolean isAbstract()
          Returns true if this is an abstract node type; returns false otherwise.
 boolean isMixin()
          Returns true if this is a mixin type; returns false if it is primary.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NodeTypeDefinitionImpl

public NodeTypeDefinitionImpl(NodeTypeDef ntd,
                              NamePathResolver resolver)
Method Detail

getName

public String getName()
Returns the name of the node type.

In implementations that support node type registration, if this NodeTypeDefinition object is actually a newly-created empty NodeTypeTemplate, then this method will return null.

Specified by:
getName in interface NodeTypeDefinition
Returns:
a String

getDeclaredSupertypeNames

public String[] getDeclaredSupertypeNames()
Returns the names of the supertypes actually declared in this node type.

In implementations that support node type registration, if this NodeTypeDefinition object is actually a newly-created empty NodeTypeTemplate, then this method will return an array containing a single string indicating the node type nt:base.

Specified by:
getDeclaredSupertypeNames in interface NodeTypeDefinition
Returns:
an array of Strings
Since:
JCR 2.0

isAbstract

public boolean isAbstract()
Returns true if this is an abstract node type; returns false otherwise.

An abstract node type is one that cannot be assigned as the primary or mixin type of a node but can be used in the definitions of other node types as a superclass.

In implementations that support node type registration, if this NodeTypeDefinition object is actually a newly-created empty NodeTypeTemplate, then this method will return false.

Specified by:
isAbstract in interface NodeTypeDefinition
Returns:
a boolean
Since:
JCR 2.0

isMixin

public boolean isMixin()
Returns true if this is a mixin type; returns false if it is primary.

In implementations that support node type registration, if this NodeTypeDefinition object is actually a newly-created empty NodeTypeTemplate, then this method will return false.

Specified by:
isMixin in interface NodeTypeDefinition
Returns:
a boolean

hasOrderableChildNodes

public boolean hasOrderableChildNodes()
Returns true if nodes of this type must support orderable child nodes; returns false otherwise. If a node type returns true on a call to this method, then all nodes of that node type must support the method Node.orderBefore. If a node type returns false on a call to this method, then nodes of that node type may support Node.orderBefore. Only the primary node type of a node controls that node's status in this regard. This setting on a mixin node type will not have any effect on the node.

In implementations that support node type registration, if this NodeTypeDefinition object is actually a newly-created empty NodeTypeTemplate, then this method will return false.

Specified by:
hasOrderableChildNodes in interface NodeTypeDefinition
Returns:
a boolean

getPrimaryItemName

public String getPrimaryItemName()
Returns the name of the primary item (one of the child items of the nodes of this node type). If this node has no primary item, then this method returns null. This indicator is used by the method Node.getPrimaryItem().

In implementations that support node type registration, if this NodeTypeDefinition object is actually a newly-created empty NodeTypeTemplate, then this method will return null.

Specified by:
getPrimaryItemName in interface NodeTypeDefinition
Returns:
a String

getDeclaredChildNodeDefinitions

public NodeDefinition[] getDeclaredChildNodeDefinitions()
Returns an array containing the child node definitions actually declared in this node type.

In implementations that support node type registration, if this NodeTypeDefinition object is actually a newly-created empty NodeTypeTemplate, then this method will return null.

Specified by:
getDeclaredChildNodeDefinitions in interface NodeTypeDefinition
Returns:
an array of NodeDefinitions

getDeclaredPropertyDefinitions

public PropertyDefinition[] getDeclaredPropertyDefinitions()
Returns an array containing the property definitions actually declared in this node type.

In implementations that support node type registration, if this NodeTypeDefinition object is actually a newly-created empty NodeTypeTemplate, then this method will return null.

Specified by:
getDeclaredPropertyDefinitions in interface NodeTypeDefinition
Returns:
an array of PropertyDefinitions


Copyright © 2004-2009 The Apache Software Foundation. All Rights Reserved.