Class BijectiveNsMap

java.lang.Object
com.fasterxml.aalto.dom.BijectiveNsMap

public final class BijectiveNsMap extends Object
Helper class that implements "bijective map" (Map that allows use of values as keys and vice versa, bidirectional access), and is specifically used for storing namespace binding information. One thing worth noting is that Strings stored are NOT assumed to have been unified (interned) -- if they were, different implementation would be more optimal.
  • Field Details

    • DEFAULT_ARRAY_SIZE

      static final int DEFAULT_ARRAY_SIZE
      Let's plan for having up to 14 explicit namespace declarations (2 defaults, for 'xml' and 'xmlns', are pre-populated)
      See Also:
    • _scopeStart

      final int _scopeStart
    • _nsStrings

      String[] _nsStrings
      Array that contains { prefix, ns-uri } pairs, up to (but not including) index _scopeEnd.
    • _scopeEnd

      int _scopeEnd
  • Constructor Details

    • BijectiveNsMap

      private BijectiveNsMap(int scopeStart, String[] strs)
  • Method Details

    • createEmpty

      public static BijectiveNsMap createEmpty()
    • createChild

      public BijectiveNsMap createChild()
    • findUriByPrefix

      public String findUriByPrefix(String prefix)
    • findPrefixByUri

      public String findPrefixByUri(String uri)
    • getPrefixesBoundToUri

      public List<String> getPrefixesBoundToUri(String uri, List<String> l)
    • size

      public int size()
    • localSize

      public int localSize()
    • addMapping

      public String addMapping(String prefix, String uri)
      Method to add a new prefix-to-URI mapping for the current scope. Note that it should NOT be used for the default namespace declaration
      Parameters:
      prefix - Prefix to bind
      uri - URI to bind to the prefix
      Returns:
      If the prefix was already bound, the URI it was bound to: null if it's a new binding for the current scope.
    • addGeneratedMapping

      public String addGeneratedMapping(String prefixBase, NamespaceContext ctxt, String uri, int[] seqArr)
      Method used to add a dynamic binding, and return the prefix used to bind the specified namespace URI.