Class GlobalNameMapper

java.lang.Object
org.apache.jackrabbit.oak.namepath.impl.GlobalNameMapper
All Implemented Interfaces:
NameMapper
Direct Known Subclasses:
LocalNameMapper

public class GlobalNameMapper extends 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 Details

    • GlobalNameMapper

      public GlobalNameMapper(Root root)
    • GlobalNameMapper

      public GlobalNameMapper(NodeState root)
    • GlobalNameMapper

      public GlobalNameMapper(Map<String,String> mappings)
  • Method Details

    • getJcrName

      @NotNull public @NotNull String getJcrName(@NotNull @NotNull 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 interface NameMapper
      Parameters:
      oakName - Oak name
      Returns:
      JCR name
    • getOakNameOrNull

      @Nullable public @Nullable String getOakNameOrNull(@NotNull @NotNull String jcrName)
      Description copied from interface: NameMapper
      Returns the Oak name for the given JCR name, or null 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 interface NameMapper
      Parameters:
      jcrName - JCR name
      Returns:
      Oak name, or null
    • getOakName

      @NotNull public @NotNull String getOakName(@NotNull @NotNull String jcrName) throws RepositoryException
      Description copied from interface: NameMapper
      Returns the Oak name for the specified JCR name. In contrast to NameMapper.getOakNameOrNull(String) this method will throw a RepositoryException if the JCR name is invalid and cannot be resolved.
      Specified by:
      getOakName in interface NameMapper
      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 Map<String,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 interface NameMapper
      Returns:
      local namespace prefix to URI mappings
    • onSessionRefresh

      public void onSessionRefresh()