Class ReadWriteNamespaceRegistry
- java.lang.Object
-
- org.apache.jackrabbit.oak.plugins.name.ReadOnlyNamespaceRegistry
-
- org.apache.jackrabbit.oak.plugins.name.ReadWriteNamespaceRegistry
-
- All Implemented Interfaces:
NamespaceRegistry
,NamespaceConstants
public abstract class ReadWriteNamespaceRegistry extends ReadOnlyNamespaceRegistry
Writable namespace registry. Mainly for use to implement the full JCR API.
-
-
Field Summary
-
Fields inherited from interface org.apache.jackrabbit.oak.spi.namespace.NamespaceConstants
NAMESPACE_OAK, NAMESPACE_REP, NAMESPACE_SV, NAMESPACE_XMLNS, NAMESPACES_PATH, PREFIX_OAK, PREFIX_REP, PREFIX_SV, PREFIX_XMLNS, REP_NAMESPACES, REP_NSDATA, REP_PREFIXES, REP_URIS, RESERVED_PREFIXES, RESERVED_URIS
-
Fields inherited from interface javax.jcr.NamespaceRegistry
NAMESPACE_EMPTY, NAMESPACE_JCR, NAMESPACE_MIX, NAMESPACE_NT, NAMESPACE_XML, PREFIX_EMPTY, PREFIX_JCR, PREFIX_MIX, PREFIX_NT, PREFIX_XML
-
-
Constructor Summary
Constructors Constructor Description ReadWriteNamespaceRegistry(Root root)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
registerNamespace(java.lang.String prefix, java.lang.String uri)
Sets a one-to-one mapping betweenprefix
anduri
in the global namespace registry of this repository.void
unregisterNamespace(java.lang.String prefix)
Removes a namespace mapping from the registry.-
Methods inherited from class org.apache.jackrabbit.oak.plugins.name.ReadOnlyNamespaceRegistry
getPrefix, getPrefixes, getURI, getURIs
-
-
-
-
Constructor Detail
-
ReadWriteNamespaceRegistry
public ReadWriteNamespaceRegistry(Root root)
-
-
Method Detail
-
registerNamespace
public void registerNamespace(java.lang.String prefix, java.lang.String uri) throws RepositoryException
Description copied from interface:NamespaceRegistry
Sets a one-to-one mapping betweenprefix
anduri
in the global namespace registry of this repository.Assigning a new prefix to a URI that already exists in the namespace registry erases the old prefix. In general this can almost always be done, though an implementation is free to prevent particular remappings by throwing a
NamespaceException
.On the other hand, taking a prefix that is already assigned to a URI and re-assigning it to a new URI in effect unregisters that URI. Therefore, the same restrictions apply to this operation as to
NamespaceRegistry.unregisterNamespace
.- Specified by:
registerNamespace
in interfaceNamespaceRegistry
- Overrides:
registerNamespace
in classReadOnlyNamespaceRegistry
- Parameters:
prefix
- The prefix to be mapped.uri
- The URI to be mapped.- Throws:
NamespaceException
- If an attempt is made to re-assign a built-in prefix to a new URI or, to register a namespace with a prefix that begins with the characters "xml
" (in any combination of case) or, An attempt is made to perform a prefix re-assignment that is forbidden for implementation-specific reasons.UnsupportedRepositoryOperationException
- if this repository does not support namespace registry changes.AccessDeniedException
- if the current session does not have sufficent access to register the namespace.RepositoryException
- if another error occurs.
-
unregisterNamespace
public void unregisterNamespace(java.lang.String prefix) throws RepositoryException
Description copied from interface:NamespaceRegistry
Removes a namespace mapping from the registry.- Specified by:
unregisterNamespace
in interfaceNamespaceRegistry
- Overrides:
unregisterNamespace
in classReadOnlyNamespaceRegistry
- Parameters:
prefix
- The prefix of the mapping to be removed.- Throws:
NamespaceException
- if an attempt is made to unregister a built-in namespace or a namespace that is not currently registered or a namespace whose unregsitration is forbidden for implementation-specific reasons.UnsupportedRepositoryOperationException
- if this repository does not support namespace registry changes.AccessDeniedException
- if the current session does not have sufficent access to unregister the namespace.RepositoryException
- if another error occurs.
-
-