Class AbstractNodeTypeManager
- java.lang.Object
-
- org.apache.jackrabbit.spi.commons.nodetype.AbstractNodeTypeManager
-
- All Implemented Interfaces:
NodeTypeManager
public abstract class AbstractNodeTypeManager extends java.lang.Object implements NodeTypeManager
AbstractNodeTypeManager
covers creation of node type templates and definition templates.
-
-
Constructor Summary
Constructors Constructor Description AbstractNodeTypeManager()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description NodeDefinitionTemplate
createNodeDefinitionTemplate()
Returns an emptyNodeDefinitionTemplate
which can then be used to create a child node definition and attached to aNodeTypeTemplate
.NodeTypeTemplate
createNodeTypeTemplate()
Returns an emptyNodeTypeTemplate
which can then be used to define a node type and passed toNodeTypeManager.registerNodeType
.NodeTypeTemplate
createNodeTypeTemplate(NodeTypeDefinition ntd)
Returns aNodeTypeTemplate
holding the specified node type definition.PropertyDefinitionTemplate
createPropertyDefinitionTemplate()
Returns an emptyPropertyDefinitionTemplate
which can then be used to create a property definition and attached to aNodeTypeTemplate
.abstract NamePathResolver
getNamePathResolver()
Returns the NamePathResolver used to validate JCR names.abstract NodeDefinition
getNodeDefinition(QNodeDefinition nd)
Retrieve theNodeDefinition
for the givenQNodeDefinition
.abstract NodeType
getNodeType(Name ntName)
Return the node type with the specifiedntName
.abstract PropertyDefinition
getPropertyDefinition(QPropertyDefinition pd)
Retrieve thePropertyDefinition
for the givenQPropertyDefinition
.NodeType
registerNodeType(NodeTypeDefinition ntd, boolean allowUpdate)
Registers a new node type or updates an existing node type using the specified definition and returns the resultingNodeType
object.void
unregisterNodeType(java.lang.String name)
Unregisters the specified node type.-
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface javax.jcr.nodetype.NodeTypeManager
getAllNodeTypes, getMixinNodeTypes, getNodeType, getPrimaryNodeTypes, hasNodeType, registerNodeTypes, unregisterNodeTypes
-
-
-
-
Method Detail
-
getNodeType
public abstract NodeType getNodeType(Name ntName) throws NoSuchNodeTypeException
Return the node type with the specifiedntName
.- Parameters:
ntName
- Name of the node type to be returned.- Returns:
- the node type with the specified
ntName
. - Throws:
NoSuchNodeTypeException
- If no such node type exists.
-
getNodeDefinition
public abstract NodeDefinition getNodeDefinition(QNodeDefinition nd)
Retrieve theNodeDefinition
for the givenQNodeDefinition
.- Parameters:
nd
- the QNodeDefinition.- Returns:
- the node definition.
-
getPropertyDefinition
public abstract PropertyDefinition getPropertyDefinition(QPropertyDefinition pd)
Retrieve thePropertyDefinition
for the givenQPropertyDefinition
.- Parameters:
pd
- the QPropertyDefinition.- Returns:
- the property definition.
-
getNamePathResolver
public abstract NamePathResolver getNamePathResolver()
Returns the NamePathResolver used to validate JCR names.- Returns:
- the NamePathResolver used to convert JCR names/paths to internal onces and vice versa. The resolver may also be used to validate names passed to the various templates.
-
createNodeTypeTemplate
public NodeTypeTemplate createNodeTypeTemplate() throws UnsupportedRepositoryOperationException, RepositoryException
Description copied from interface:NodeTypeManager
Returns an emptyNodeTypeTemplate
which can then be used to define a node type and passed toNodeTypeManager.registerNodeType
.- Specified by:
createNodeTypeTemplate
in interfaceNodeTypeManager
- Returns:
- A
NodeTypeTemplate
. - Throws:
UnsupportedRepositoryOperationException
- if this implementation does not support node type registration.RepositoryException
- if another error occurs.- See Also:
NodeTypeManager.createNodeTypeTemplate()
-
createNodeTypeTemplate
public NodeTypeTemplate createNodeTypeTemplate(NodeTypeDefinition ntd) throws UnsupportedRepositoryOperationException, RepositoryException
Description copied from interface:NodeTypeManager
Returns aNodeTypeTemplate
holding the specified node type definition. This template can then be altered and passed toNodeTypeManager.registerNodeType
.- Specified by:
createNodeTypeTemplate
in interfaceNodeTypeManager
- Parameters:
ntd
- aNodeTypeDefinition
.- Returns:
- A
NodeTypeTemplate
. - Throws:
UnsupportedRepositoryOperationException
- if this implementation does not support node type registration.RepositoryException
- if another error occurs.- See Also:
NodeTypeManager.createNodeTypeTemplate(NodeTypeDefinition)
-
createNodeDefinitionTemplate
public NodeDefinitionTemplate createNodeDefinitionTemplate() throws UnsupportedRepositoryOperationException, RepositoryException
Description copied from interface:NodeTypeManager
Returns an emptyNodeDefinitionTemplate
which can then be used to create a child node definition and attached to aNodeTypeTemplate
.- Specified by:
createNodeDefinitionTemplate
in interfaceNodeTypeManager
- Returns:
- A
NodeDefinitionTemplate
. - Throws:
UnsupportedRepositoryOperationException
- if this implementation does not support node type registration.RepositoryException
- if another error occurs.- See Also:
NodeTypeManager.createNodeDefinitionTemplate()
-
createPropertyDefinitionTemplate
public PropertyDefinitionTemplate createPropertyDefinitionTemplate() throws UnsupportedRepositoryOperationException, RepositoryException
Description copied from interface:NodeTypeManager
Returns an emptyPropertyDefinitionTemplate
which can then be used to create a property definition and attached to aNodeTypeTemplate
.- Specified by:
createPropertyDefinitionTemplate
in interfaceNodeTypeManager
- Returns:
- A
PropertyDefinitionTemplate
. - Throws:
UnsupportedRepositoryOperationException
- if this implementation does not support node type registration.RepositoryException
- if another error occurs.- See Also:
NodeTypeManager.createPropertyDefinitionTemplate()
-
registerNodeType
public NodeType registerNodeType(NodeTypeDefinition ntd, boolean allowUpdate) throws RepositoryException
Description copied from interface:NodeTypeManager
Registers a new node type or updates an existing node type using the specified definition and returns the resultingNodeType
object.Typically, the object passed to this method will be a
NodeTypeTemplate
(a subclass ofNodeTypeDefinition
) acquired fromNodeTypeManager.createNodeTypeTemplate
and then filled-in with definition information.- Specified by:
registerNodeType
in interfaceNodeTypeManager
- Parameters:
ntd
- anNodeTypeDefinition
.allowUpdate
- a boolean- Returns:
- the registered node type
- Throws:
InvalidNodeTypeDefinitionException
- if theNodeTypeDefinition
is invalid.NodeTypeExistsException
- ifallowUpdate
isfalse
and theNodeTypeDefinition
specifies a node type name that is already registered.UnsupportedRepositoryOperationException
- if this implementation does not support node type registration.RepositoryException
- if another error occurs.- See Also:
NodeTypeManager.registerNodeType(NodeTypeDefinition, boolean)
-
unregisterNodeType
public void unregisterNodeType(java.lang.String name) throws UnsupportedRepositoryOperationException, NoSuchNodeTypeException, RepositoryException
Description copied from interface:NodeTypeManager
Unregisters the specified node type.- Specified by:
unregisterNodeType
in interfaceNodeTypeManager
- Parameters:
name
- aString
.- Throws:
UnsupportedRepositoryOperationException
- if this implementation does not support node type registration.NoSuchNodeTypeException
- if no registered node type exists with the specified name.RepositoryException
- if another error occurs.- See Also:
NodeTypeManager.unregisterNodeType(String)
-
-