Index: /home/ntoper/workspace/jackrabbit/src/main/java/org/apache/jackrabbit/api/JackrabbitNodeTypeManager.java =================================================================== --- /home/ntoper/workspace/jackrabbit/src/main/java/org/apache/jackrabbit/api/JackrabbitNodeTypeManager.java (revision 426652) +++ /home/ntoper/workspace/jackrabbit/src/main/java/org/apache/jackrabbit/api/JackrabbitNodeTypeManager.java (working copy) @@ -23,6 +23,8 @@ import javax.jcr.nodetype.NodeType; import javax.jcr.nodetype.NodeTypeManager; +import org.apache.jackrabbit.name.IllegalNameException; +import org.apache.jackrabbit.name.UnknownPrefixException; import org.xml.sax.InputSource; import org.xml.sax.SAXException; @@ -71,5 +73,17 @@ */ NodeType[] registerNodeTypes(InputStream in, String contentType) throws IOException, RepositoryException; + + /** + * Check if a given name is registered or not. + * + * + * @param name the name to check + * @return true if registered. Otherwise: false + * @throws UnknownPrefixException + * @throws IllegalNameException + */ + + boolean hasNodeType(String name) throws IllegalNameException, UnknownPrefixException; } Index: /home/ntoper/workspace/jackrabbit/src/main/java/org/apache/jackrabbit/core/nodetype/NodeTypeManagerImpl.java =================================================================== --- /home/ntoper/workspace/jackrabbit/src/main/java/org/apache/jackrabbit/core/nodetype/NodeTypeManagerImpl.java (revision 426652) +++ /home/ntoper/workspace/jackrabbit/src/main/java/org/apache/jackrabbit/core/nodetype/NodeTypeManagerImpl.java (working copy) @@ -421,6 +421,11 @@ throw new IOException(e.getMessage()); } } + + public boolean hasNodeType(String name) throws IllegalNameException, UnknownPrefixException { + QName qname = NameFormat.parse(name, nsResolver); + return this.getNodeTypeRegistry().isRegistered(qname); + } //-------------------------------------------------------------< Dumpable > /** @@ -431,4 +436,6 @@ ps.println(); ntReg.dump(ps); } + + }