Package org.apache.jackrabbit.commons
Class NamespaceHelper
java.lang.Object
org.apache.jackrabbit.commons.NamespaceHelper
Helper class for working with JCR namespaces.
- Since:
- Jackrabbit JCR Commons 1.5
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionNamespaceHelper(Session session) Creates a namespace helper for the given session. -
Method Summary
Modifier and TypeMethodDescriptiongetJcrName(String name) Replaces the standardjcr,nt, ormixprefix in the given name with the prefix mapped to that namespace in the current session.getJcrName(String uri, String name) Returns the prefixed JCR name for the given namespace URI and local name in the current session.Returns a map containing all prefix to namespace URI mappings of the current session.Returns the prefix mapped to the given namespace URI in the current session, ornullif the namespace does not exist.Returns the namespace URI mapped to the given prefix in the current session, ornullif the namespace does not exist.registerNamespace(String prefix, String uri) Safely registers the given namespace.voidregisterNamespaces(Map<String, String> namespaces) Safely registers all namespaces in the given map from prefixes to namespace URIs.
-
Field Details
-
JCR
Thejcrnamespace URI.- See Also:
-
NT
Thentnamespace URI.- See Also:
-
MIX
Themixnamespace URI.- See Also:
-
-
Constructor Details
-
NamespaceHelper
Creates a namespace helper for the given session.- Parameters:
session- current session
-
-
Method Details
-
getNamespaces
Returns a map containing all prefix to namespace URI mappings of the current session. The returned map is newly allocated and can can be freely modified by the caller.- Returns:
- namespace mappings
- Throws:
RepositoryException- if the namespaces could not be retrieved- See Also:
-
getPrefix
Returns the prefix mapped to the given namespace URI in the current session, ornullif the namespace does not exist.- Parameters:
uri- namespace URI- Returns:
- namespace prefix, or
null - Throws:
RepositoryException- if the namespace could not be retrieved- See Also:
-
getURI
Returns the namespace URI mapped to the given prefix in the current session, ornullif the namespace does not exist.- Parameters:
prefix- namespace prefix- Returns:
- namespace prefix, or
null - Throws:
RepositoryException- if the namespace could not be retrieved- See Also:
-
getJcrName
Returns the prefixed JCR name for the given namespace URI and local name in the current session.- Parameters:
uri- namespace URIname- local name- Returns:
- prefixed JCR name
- Throws:
NamespaceException- if the namespace does not existRepositoryException- if the namespace could not be retrieved
-
getJcrName
Replaces the standardjcr,nt, ormixprefix 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 unknownRepositoryException- if the namespace could not be retrieved
-
registerNamespace
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 prefixuri- namespace URI- Returns:
- namespace prefix in the current session
- Throws:
RepositoryException- if the namespace could not be registered- See Also:
-
registerNamespaces
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
-