|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.apache.jackrabbit.core.nodetype.NodeTypeRegistry
public class NodeTypeRegistry
A NodeTypeRegistry ...
| Constructor Summary | |
|---|---|
protected |
NodeTypeRegistry(NamespaceRegistry nsReg,
FileSystem ntStore)
Protected constructor |
| Method Summary | |
|---|---|
void |
addListener(NodeTypeRegistryListener listener)
Add a NodeTypeRegistryListener |
protected void |
checkForConflictingContent(QNodeTypeDefinition ntd)
Checks whether there is existing content that would conflict with the given node type definition. |
protected void |
checkForReferencesInContent(Name nodeTypeName)
Checks whether there is existing content that directly or indirectly refers to the specified node type. |
static NodeTypeRegistry |
create(NamespaceRegistry nsReg,
FileSystem ntStore)
Create a new NodeTypeRegistry |
void |
dump(PrintStream ps)
Dumps the state of this instance in a human readable format for diagnostic purposes. |
void |
externalRegistered(Collection<QNodeTypeDefinition> ntDefs)
Called when one or more node types have been externally registered. |
void |
externalReregistered(QNodeTypeDefinition ntDef)
Called when a node type has been externally re-registered. |
void |
externalUnregistered(Collection<Name> ntNames)
Called when one or more node types have been externally unregistered. |
Set<Name> |
getDependentNodeTypes(Name nodeTypeName)
Returns the names of those registered node types that have dependencies on the given node type. |
EffectiveNodeType |
getEffectiveNodeType(Name ntName)
|
EffectiveNodeType |
getEffectiveNodeType(Name primary,
Set<Name> mixins)
Returns the effective node type of a node with the given primary and mixin types. |
QNodeTypeDefinition |
getNodeTypeDef(Name nodeTypeName)
Returns the node type definition of the node type with the given name. |
Name[] |
getRegisteredNodeTypes()
Returns the names of all registered node types. |
QNodeDefinition |
getRootNodeDef()
|
boolean |
isBuiltIn(Name nodeTypeName)
|
boolean |
isRegistered(Name nodeTypeName)
|
protected void |
loadBuiltInNodeTypeDefs(NodeTypeDefStore store)
Loads the built-in node type definitions into the given store. |
protected void |
loadCustomNodeTypeDefs(NodeTypeDefStore store)
Loads the custom node type definitions into the given store. |
protected void |
persistCustomNodeTypeDefs(NodeTypeDefStore store)
Persists the custom node type definitions contained in the given store. |
EffectiveNodeType |
registerNodeType(QNodeTypeDefinition ntd)
Validates the NodeTypeDef and returns
an EffectiveNodeType object representing the newly
registered node type. |
void |
registerNodeTypes(Collection<QNodeTypeDefinition> ntDefs)
Same as except
that a collection of NodeTypeDefs is registered instead of
just one. |
void |
removeListener(NodeTypeRegistryListener listener)
Remove a NodeTypeRegistryListener |
EffectiveNodeType |
reregisterNodeType(QNodeTypeDefinition ntd)
Reregister a node type. |
void |
setEventChannel(NodeTypeEventChannel eventChannel)
Set an event channel to inform about changes. |
void |
unregisterNodeType(Name ntName)
Unregisters the specified node type. |
void |
unregisterNodeTypes(Collection<Name> ntNames)
Same as except
that a set of node types is unregistered instead of just one. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
protected NodeTypeRegistry(NamespaceRegistry nsReg,
FileSystem ntStore)
throws RepositoryException
nsReg - name space registryntStore - store
RepositoryException - if an error occurs| Method Detail |
|---|
public static NodeTypeRegistry create(NamespaceRegistry nsReg,
FileSystem ntStore)
throws RepositoryException
NodeTypeRegistry
- Parameters:
nsReg - namespace registryntStore - node type store
- Returns:
NodeTypeRegistry object
- Throws:
RepositoryException - if an error occurs
public Name[] getRegisteredNodeTypes()
public EffectiveNodeType registerNodeType(QNodeTypeDefinition ntd)
throws InvalidNodeTypeDefException,
RepositoryException
NodeTypeDef and returns
an EffectiveNodeType object representing the newly
registered node type.
The validation includes the following checks:
ntd - the definition of the new node type
EffectiveNodeType instance
InvalidNodeTypeDefException - if the given node type definition is invalid.
RepositoryException - if a repository error occurs.
public void registerNodeTypes(Collection<QNodeTypeDefinition> ntDefs)
throws InvalidNodeTypeDefException,
RepositoryException
registerNodeType(QNodeTypeDefinition) except
that a collection of NodeTypeDefs is registered instead of
just one.
This method can be used to register a set of node types that have
dependencies on each other.
ntDefs - a collection of QNodeTypeDefinition objects
- Throws:
InvalidNodeTypeDefException - if the given node type definition is invalid.
RepositoryException - if a repository error occurs.
public void unregisterNodeTypes(Collection<Name> ntNames)
throws NoSuchNodeTypeException,
RepositoryException
unregisterNodeType(Name) except
that a set of node types is unregistered instead of just one.
This method can be used to unregister a set of node types that depend on
each other.
ntNames - a collection of Name objects denoting the
node types to be unregistered
NoSuchNodeTypeException - if any of the specified names does not
denote a registered node type.
RepositoryException - if another error occursunregisterNodeType(Name)
public void unregisterNodeType(Name ntName)
throws NoSuchNodeTypeException,
RepositoryException
ntName - name of the node type to be unregistered
NoSuchNodeTypeException - if ntName does not
denote a registered node type.
RepositoryException - if another error occurs.unregisterNodeTypes(Collection)
public EffectiveNodeType reregisterNodeType(QNodeTypeDefinition ntd)
throws NoSuchNodeTypeException,
InvalidNodeTypeDefException,
RepositoryException
ntd - node type definition
NoSuchNodeTypeException - if ntd refers to an
unknown node type
InvalidNodeTypeDefException - if the node type definition
is invalid
RepositoryException - if another error occurs
public EffectiveNodeType getEffectiveNodeType(Name ntName)
throws NoSuchNodeTypeException
ntName - name
NoSuchNodeTypeException - if node type does not exist
public EffectiveNodeType getEffectiveNodeType(Name primary,
Set<Name> mixins)
throws NodeTypeConflictException,
NoSuchNodeTypeException
primary - primary type of the nodemixins - mixin types of the node (set of names);
NodeTypeConflictException - if the given types are conflicting
NoSuchNodeTypeException - if one of the given types is not found
public Set<Name> getDependentNodeTypes(Name nodeTypeName)
throws NoSuchNodeTypeException
nodeTypeName - node type name
Names
NoSuchNodeTypeException - if node type does not exist
public QNodeTypeDefinition getNodeTypeDef(Name nodeTypeName)
throws NoSuchNodeTypeException
nodeTypeName - name of node type whose definition should be returned.
NoSuchNodeTypeException - if a node type with the given name
does not existpublic boolean isRegistered(Name nodeTypeName)
nodeTypeName - node type name
true if the specified node type is registered;
false otherwise.public boolean isBuiltIn(Name nodeTypeName)
nodeTypeName - node type name
true if the specified node type is built-in;
false otherwise.public void addListener(NodeTypeRegistryListener listener)
NodeTypeRegistryListener
listener - the new listener to be informed on (un)registration
of node typespublic void removeListener(NodeTypeRegistryListener listener)
NodeTypeRegistryListener
listener - an existing listenerpublic void dump(PrintStream ps)
dump in interface Dumpableps - stream to dump state to
public void externalRegistered(Collection<QNodeTypeDefinition> ntDefs)
throws RepositoryException,
InvalidNodeTypeDefException
externalRegistered in interface NodeTypeEventListenerntDefs - node type definitions
RepositoryException - if an error occurs
InvalidNodeTypeDefException - if the node type definition is invalid
public void externalReregistered(QNodeTypeDefinition ntDef)
throws NoSuchNodeTypeException,
InvalidNodeTypeDefException,
RepositoryException
externalReregistered in interface NodeTypeEventListenerntDef - node type definition
NoSuchNodeTypeException - if the node type had not yet been registered
InvalidNodeTypeDefException - if the node type definition is invalid
RepositoryException - if an error occurs
public void externalUnregistered(Collection<Name> ntNames)
throws RepositoryException,
NoSuchNodeTypeException
externalUnregistered in interface NodeTypeEventListenerntNames - node type qnames
RepositoryException - if an error occurs
NoSuchNodeTypeException - if a node type is already unregistered
protected void loadBuiltInNodeTypeDefs(NodeTypeDefStore store)
throws RepositoryException
store.
This method may be overridden by extensions of this class; It must
only be called once and only from within the constructor though.
store - The NodeTypeDefStore into which the node type
definitions are loaded.
RepositoryException - If an error occurs while loading the
built-in node type definitions.
protected void loadCustomNodeTypeDefs(NodeTypeDefStore store)
throws RepositoryException
store.
This method may be overridden by extensions of this class; It must
only be called once and only from within the constructor though.
store - The NodeTypeDefStore into which the node type
definitions are loaded.
RepositoryException - If an error occurs while loading the
custom node type definitions.
protected void persistCustomNodeTypeDefs(NodeTypeDefStore store)
throws RepositoryException
store.
store - The NodeTypeDefStore containing the definitions to
be persisted.
RepositoryException - If an error occurs while persisting the
custom node type definitions.
protected void checkForConflictingContent(QNodeTypeDefinition ntd)
throws RepositoryException
RepositoryException.
TODO
ntd - The node type definition replacing the former node type
definition of the same name.
RepositoryException - If there is conflicting content or if the
check failed for some other reason.
protected void checkForReferencesInContent(Name nodeTypeName)
throws RepositoryException
RepositoryException.
TODO:
nodeTypeName - The name of the node type to be checked.
RepositoryException - If the specified node type is currently
being referenced or if the check failed for
some other reason.public QNodeDefinition getRootNodeDef()
public void setEventChannel(NodeTypeEventChannel eventChannel)
eventChannel - event channel
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||