Class 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.

    Currently only used by stream writers, but could be more generally useful too.

    • Method Detail

      • findUriByPrefix

        public String findUriByPrefix​(String prefix)
      • findPrefixByUri

        public String findPrefixByUri​(String uri)
      • 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.