Class GlobalNameMapper
- java.lang.Object
-
- org.apache.jackrabbit.oak.namepath.impl.GlobalNameMapper
-
- All Implemented Interfaces:
NameMapper
- Direct Known Subclasses:
LocalNameMapper
public class GlobalNameMapper extends java.lang.Object implements NameMapper
Name mapper with no local prefix remappings. URI to prefix mappings are read from the repository when for transforming expanded JCR names to prefixed Oak names.Note that even though this class could be used to verify that all prefixed names have valid prefixes, we explicitly don't do that since this is a fairly performance-sensitive part of the codebase and since normally the NameValidator and other consistency checks already ensure that all names being committed or already in the repository should be valid. A separate consistency check can be used if needed to locate and fix any Oak names with invalid namespace prefixes.
-
-
Constructor Summary
Constructors Constructor Description GlobalNameMapper(java.util.Map<java.lang.String,java.lang.String> mappings)
GlobalNameMapper(Root root)
GlobalNameMapper(NodeState root)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description @NotNull java.lang.String
getJcrName(@NotNull java.lang.String oakName)
Returns the JCR name for the given Oak name.@NotNull java.lang.String
getOakName(@NotNull java.lang.String jcrName)
Returns the Oak name for the specified JCR name.@Nullable java.lang.String
getOakNameOrNull(@NotNull java.lang.String jcrName)
Returns the Oak name for the given JCR name, ornull
if no such mapping exists because the given JCR name contains an unknown namespace URI or prefix, or is otherwise invalid.@NotNull java.util.Map<java.lang.String,java.lang.String>
getSessionLocalMappings()
Returns the local namespace prefix mappings, or an empty map if there aren't any local mappings.void
onSessionRefresh()
-
-
-
Method Detail
-
getJcrName
@NotNull public @NotNull java.lang.String getJcrName(@NotNull @NotNull java.lang.String oakName)
Description copied from interface:NameMapper
Returns the JCR name for the given Oak name. The given name is expected to have come from a valid Oak repository that contains only valid names with proper namespace mappings. If that's not the case, either a programming error or a repository corruption has occurred and an appropriate unchecked exception gets thrown.- Specified by:
getJcrName
in interfaceNameMapper
- Parameters:
oakName
- Oak name- Returns:
- JCR name
-
getOakNameOrNull
@Nullable public @Nullable java.lang.String getOakNameOrNull(@NotNull @NotNull java.lang.String jcrName)
Description copied from interface:NameMapper
Returns the Oak name for the given JCR name, ornull
if no such mapping exists because the given JCR name contains an unknown namespace URI or prefix, or is otherwise invalid.- Specified by:
getOakNameOrNull
in interfaceNameMapper
- Parameters:
jcrName
- JCR name- Returns:
- Oak name, or
null
-
getOakName
@NotNull public @NotNull java.lang.String getOakName(@NotNull @NotNull java.lang.String jcrName) throws RepositoryException
Description copied from interface:NameMapper
Returns the Oak name for the specified JCR name. In contrast toNameMapper.getOakNameOrNull(String)
this method will throw aRepositoryException
if the JCR name is invalid and cannot be resolved.- Specified by:
getOakName
in interfaceNameMapper
- Parameters:
jcrName
- The JCR name to be converted.- Returns:
- A valid Oak name.
- Throws:
RepositoryException
- If the JCR name cannot be resolved.
-
getSessionLocalMappings
@NotNull public @NotNull java.util.Map<java.lang.String,java.lang.String> getSessionLocalMappings()
Description copied from interface:NameMapper
Returns the local namespace prefix mappings, or an empty map if there aren't any local mappings.- Specified by:
getSessionLocalMappings
in interfaceNameMapper
- Returns:
- local namespace prefix to URI mappings
-
onSessionRefresh
public void onSessionRefresh()
-
-