org.apache.jackrabbit.spi.commons.nodetype
Interface NodeTypeStorage

All Known Implementing Classes:
NodeTypeStorageImpl

public interface NodeTypeStorage

NodeTypeStorage provides means for storing QNodeTypeDefinitions.


Method Summary
 Iterator<QNodeTypeDefinition> getAllDefinitions()
          Returns an Iterator over all node type definitions registered.
 Iterator<QNodeTypeDefinition> getDefinitions(Name[] nodeTypeNames)
          Returns the QNodeTypeDefinitions for the given node type names.
 void registerNodeTypes(QNodeTypeDefinition[] nodeTypeDefs, boolean allowUpdate)
          Add all QNodeTypeDefinitions provided to the store.
 void unregisterNodeTypes(Name[] nodeTypeNames)
          Remove all QNodeTypeDefinitions provided from the store.
 

Method Detail

getAllDefinitions

Iterator<QNodeTypeDefinition> getAllDefinitions()
                                                throws RepositoryException
Returns an Iterator over all node type definitions registered.

Returns:
Throws:
RepositoryException

getDefinitions

Iterator<QNodeTypeDefinition> getDefinitions(Name[] nodeTypeNames)
                                             throws NoSuchNodeTypeException,
                                                    RepositoryException
Returns the QNodeTypeDefinitions for the given node type names. The implementation is free to return additional definitions e.g. dependencies.

Parameters:
nodeTypeNames -
Returns:
Throws:
NoSuchNodeTypeException
RepositoryException

registerNodeTypes

void registerNodeTypes(QNodeTypeDefinition[] nodeTypeDefs,
                       boolean allowUpdate)
                       throws RepositoryException,
                              NodeTypeExistsException
Add all QNodeTypeDefinitions provided to the store. If allowUpdate is true previously registered node QNodeTypeDefinitions will be overwritten.

Parameters:
nodeTypeDefs - QNodeTypeDefinitions to add to the store
allowUpdate - Whether to overwrite existing QNodeTypeDefinitions
Throws:
RepositoryException
NodeTypeExistsException - If allowUpdate is true and a QNodeTypeDefinitions of that name already exists. In this case, none of the provided QNodeTypeDefinitions is registered.

unregisterNodeTypes

void unregisterNodeTypes(Name[] nodeTypeNames)
                         throws NoSuchNodeTypeException,
                                RepositoryException
Remove all QNodeTypeDefinitions provided from the store.

Parameters:
nodeTypeNames - QNodeTypeDefinitions to remove from the store
Throws:
RepositoryException
NoSuchNodeTypeException - If any of the QNodeTypeDefinitions does not exist. In this case none of the provided is unregistered.


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