Class FixedNsContext

  • All Implemented Interfaces:
    javax.xml.namespace.NamespaceContext

    public final class FixedNsContext
    extends java.lang.Object
    implements javax.xml.namespace.NamespaceContext
    Non-transient implementation of NamespaceContext.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected java.lang.String[] _declarationData
      Array that contains prefix/namespace-uri pairs, ordered from the most recent declaration to older ones.
      protected NsDeclaration _lastDeclaration
      We will keep a reference to the last namespace declaration in effect at point when this instance was created.
      protected java.util.ArrayList<java.lang.String> _tmpDecl
      Temporary List used for constructing compact namespace binding information that we will actually use.
      static FixedNsContext EMPTY_CONTEXT
      We can share and reuse "no bindings" instance.
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      private FixedNsContext​(NsDeclaration lastDecl, java.lang.String[] declData)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.String getNamespaceURI​(java.lang.String prefix)  
      java.lang.String getPrefix​(java.lang.String nsURI)  
      java.util.Iterator<java.lang.String> getPrefixes​(java.lang.String nsURI)  
      FixedNsContext reuseOrCreate​(NsDeclaration currLastDecl)
      Method called to either reuse this context or construct a new one.
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • EMPTY_CONTEXT

        public static final FixedNsContext EMPTY_CONTEXT
        We can share and reuse "no bindings" instance.
      • _lastDeclaration

        protected final NsDeclaration _lastDeclaration
        We will keep a reference to the last namespace declaration in effect at point when this instance was created. This is used for lazy invalidation of instances: if last declaration for an instance differs from the last seen by the reader, a new context must be created.
      • _declarationData

        protected final java.lang.String[] _declarationData
        Array that contains prefix/namespace-uri pairs, ordered from the most recent declaration to older ones. Array is always exactly sized so there are no empty entries at the end.
      • _tmpDecl

        protected java.util.ArrayList<java.lang.String> _tmpDecl
        Temporary List used for constructing compact namespace binding information that we will actually use.
    • Constructor Detail

      • FixedNsContext

        private FixedNsContext​(NsDeclaration lastDecl,
                               java.lang.String[] declData)
    • Method Detail

      • reuseOrCreate

        public FixedNsContext reuseOrCreate​(NsDeclaration currLastDecl)
        Method called to either reuse this context or construct a new one. Reuse is ok if the currently active last declaration has not changed since time this instance was created.
      • getNamespaceURI

        public final java.lang.String getNamespaceURI​(java.lang.String prefix)
        Specified by:
        getNamespaceURI in interface javax.xml.namespace.NamespaceContext
      • getPrefix

        public final java.lang.String getPrefix​(java.lang.String nsURI)
        Specified by:
        getPrefix in interface javax.xml.namespace.NamespaceContext
      • getPrefixes

        public final java.util.Iterator<java.lang.String> getPrefixes​(java.lang.String nsURI)
        Specified by:
        getPrefixes in interface javax.xml.namespace.NamespaceContext
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object