Package com.fasterxml.aalto.dom
Class BijectiveNsMap
- java.lang.Object
-
- com.fasterxml.aalto.dom.BijectiveNsMap
-
public final class BijectiveNsMap extends java.lang.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 Summary
Fields Modifier and Type Field Description (package private) java.lang.String[]
_nsStrings
Array that contains { prefix, ns-uri } pairs, up to (but not including) index_scopeEnd
.(package private) int
_scopeEnd
(package private) int
_scopeStart
(package private) static int
DEFAULT_ARRAY_SIZE
Let's plan for having up to 14 explicit namespace declarations (2 defaults, for 'xml' and 'xmlns', are pre-populated)
-
Constructor Summary
Constructors Modifier Constructor Description private
BijectiveNsMap(int scopeStart, java.lang.String[] strs)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.String
addGeneratedMapping(java.lang.String prefixBase, javax.xml.namespace.NamespaceContext ctxt, java.lang.String uri, int[] seqArr)
Method used to add a dynamic binding, and return the prefix used to bind the specified namespace URI.java.lang.String
addMapping(java.lang.String prefix, java.lang.String uri)
Method to add a new prefix-to-URI mapping for the current scope.BijectiveNsMap
createChild()
static BijectiveNsMap
createEmpty()
java.lang.String
findPrefixByUri(java.lang.String uri)
java.lang.String
findUriByPrefix(java.lang.String prefix)
java.util.List<java.lang.String>
getPrefixesBoundToUri(java.lang.String uri, java.util.List<java.lang.String> l)
int
localSize()
int
size()
-
-
-
Field Detail
-
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:
- Constant Field Values
-
_scopeStart
final int _scopeStart
-
_nsStrings
java.lang.String[] _nsStrings
Array that contains { prefix, ns-uri } pairs, up to (but not including) index_scopeEnd
.
-
_scopeEnd
int _scopeEnd
-
-
Method Detail
-
createEmpty
public static BijectiveNsMap createEmpty()
-
createChild
public BijectiveNsMap createChild()
-
findUriByPrefix
public java.lang.String findUriByPrefix(java.lang.String prefix)
-
findPrefixByUri
public java.lang.String findPrefixByUri(java.lang.String uri)
-
getPrefixesBoundToUri
public java.util.List<java.lang.String> getPrefixesBoundToUri(java.lang.String uri, java.util.List<java.lang.String> l)
-
size
public int size()
-
localSize
public int localSize()
-
addMapping
public java.lang.String addMapping(java.lang.String prefix, java.lang.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 binduri
- 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 java.lang.String addGeneratedMapping(java.lang.String prefixBase, javax.xml.namespace.NamespaceContext ctxt, java.lang.String uri, int[] seqArr)
Method used to add a dynamic binding, and return the prefix used to bind the specified namespace URI.
-
-