code: public NodeTypeValue getNodeTypeValue(String nodeTypeName) throws NoSuchNodeTypeException, RepositoryException
     {
        NodeTypeData ntdata = typesManager.getNodeType(locationFactory.parseJCRName(nodeTypeName).getInternalName());
        if (ntdata != null)
        {
           NodeTypeValue nodeTypeValue = new NodeTypeValue();
           nodeTypeValue.setMixin(ntdata.isMixin());
           nodeTypeValue.setName(locationFactory.createJCRName(ntdata.getName()).getAsString());
           nodeTypeValue.setOrderableChild(ntdata.hasOrderableChildNodes());
           if (ntdata.getPrimaryItemName() == null)
           {
              nodeTypeValue.setPrimaryItemName("");
           }
           else
           {
              nodeTypeValue.setPrimaryItemName(locationFactory.createJCRName(ntdata.getPrimaryItemName()).getAsString());
           }
           List<String> declaredSupertypeNames = new ArrayList<String>();
           for (int i = 0; i < ntdata.getDeclaredSupertypeNames().length; i++)
           {
              declaredSupertypeNames.add(locationFactory.createJCRName(ntdata.getDeclaredSupertypeNames()[i])
                 .getAsString());
           }
           List<PropertyDefinitionValue> declaredPropertyDefinitionValues = new ArrayList<PropertyDefinitionValue>();
  
           for (int i = 0; i < ntdata.getDeclaredPropertyDefinitions().length; i++)
           {
              declaredPropertyDefinitionValues.add(convert(ntdata.getDeclaredPropertyDefinitions()[i]));
           }
  
           List<NodeDefinitionValue> declaredChildNodeDefinitionValues = new ArrayList<NodeDefinitionValue>();
  
           for (int i = 0; i < ntdata.getDeclaredChildNodeDefinitions().length; i++)
           {
              declaredChildNodeDefinitionValues.add(convert(ntdata.getDeclaredChildNodeDefinitions()[i]));
           }
  
           nodeTypeValue.setDeclaredSupertypeNames(declaredSupertypeNames);
           nodeTypeValue.setDeclaredPropertyDefinitionValues(declaredPropertyDefinitionValues);
           nodeTypeValue.setDeclaredChildNodeDefinitionValues(declaredChildNodeDefinitionValues);
           return nodeTypeValue;
        }
  
        throw new NoSuchNodeTypeException("Nodetype not found " + nodeTypeName);
     }
docs: {@inheritDoc}