Class NamespaceHelper


  • public class NamespaceHelper
    extends Object
    Helper class for working with JCR namespaces.
    Since:
    Jackrabbit JCR Commons 1.5
    • Constructor Detail

      • NamespaceHelper

        public NamespaceHelper​(Session session)
        Creates a namespace helper for the given session.
        Parameters:
        session - current session
    • Method Detail

      • getJcrName

        public String getJcrName​(String name)
                          throws IllegalArgumentException,
                                 RepositoryException
        Replaces the standard jcr, nt, or mix prefix in the given name with the prefix mapped to that namespace in the current session.

        The purpose of this method is to make it easier to write namespace-aware code that uses names in the standard JCR namespaces. For example:

             node.getProperty(helper.getName("jcr:data"));
         
        Parameters:
        name - prefixed name using the standard JCR prefixes
        Returns:
        prefixed name using the current session namespace mappings
        Throws:
        IllegalArgumentException - if the prefix is unknown
        RepositoryException - if the namespace could not be retrieved
      • registerNamespace

        public String registerNamespace​(String prefix,
                                        String uri)
                                 throws RepositoryException
        Safely registers the given namespace. If the namespace already exists, then the prefix mapped to the namespace in the current session is returned. Otherwise the namespace is registered to the namespace registry. If the given prefix is already registered for some other namespace or otherwise invalid, then another prefix is automatically generated. After the namespace has been registered, the prefix mapped to it in the current session is returned.
        Parameters:
        prefix - namespace prefix
        uri - namespace URI
        Returns:
        namespace prefix in the current session
        Throws:
        RepositoryException - if the namespace could not be registered
        See Also:
        NamespaceRegistry.registerNamespace(String, String)
      • registerNamespaces

        public void registerNamespaces​(Map<String,​String> namespaces)
                                throws RepositoryException
        Safely registers all namespaces in the given map from prefixes to namespace URIs.
        Parameters:
        namespaces - namespace mappings
        Throws:
        RepositoryException - if the namespaces could not be registered