Class DelegatingContext

  • All Implemented Interfaces:
    javax.naming.Context
    Direct Known Subclasses:
    DelegatingDirContext

    public class DelegatingContext
    extends java.lang.Object
    implements javax.naming.Context
    Used by PooledContextSource to wrap a Context, delegating most methods to the underlying context, retains a reference to the pool the context was checked out from and returns itself to the pool when close() is called.
    Since:
    2.0
    • Field Summary

      • Fields inherited from interface javax.naming.Context

        APPLET, AUTHORITATIVE, BATCHSIZE, DNS_URL, INITIAL_CONTEXT_FACTORY, LANGUAGE, OBJECT_FACTORIES, PROVIDER_URL, REFERRAL, SECURITY_AUTHENTICATION, SECURITY_CREDENTIALS, SECURITY_PRINCIPAL, SECURITY_PROTOCOL, STATE_FACTORIES, URL_PKG_PREFIXES
    • Constructor Summary

      Constructors 
      Constructor Description
      DelegatingContext​(org.apache.commons.pool2.KeyedObjectPool<java.lang.Object,​java.lang.Object> keyedObjectPool, javax.naming.Context delegateContext, DirContextType dirContextType)
      Create a new delegating context for the specified pool, context and context type.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.Object addToEnvironment​(java.lang.String propName, java.lang.Object propVal)  
      protected void assertOpen()  
      void bind​(java.lang.String name, java.lang.Object obj)  
      void bind​(javax.naming.Name name, java.lang.Object obj)  
      void close()  
      java.lang.String composeName​(java.lang.String name, java.lang.String prefix)  
      javax.naming.Name composeName​(javax.naming.Name name, javax.naming.Name prefix)  
      javax.naming.Context createSubcontext​(java.lang.String name)  
      javax.naming.Context createSubcontext​(javax.naming.Name name)  
      void destroySubcontext​(java.lang.String name)  
      void destroySubcontext​(javax.naming.Name name)  
      boolean equals​(java.lang.Object obj)  
      javax.naming.Context getDelegateContext()  
      java.util.Hashtable<?,​?> getEnvironment()  
      javax.naming.Context getInnermostDelegateContext()
      Recursivley inspect delegates until a non-delegating context is found.
      java.lang.String getNameInNamespace()  
      javax.naming.NameParser getNameParser​(java.lang.String name)  
      javax.naming.NameParser getNameParser​(javax.naming.Name name)  
      int hashCode()  
      javax.naming.NamingEnumeration<javax.naming.NameClassPair> list​(java.lang.String name)  
      javax.naming.NamingEnumeration<javax.naming.NameClassPair> list​(javax.naming.Name name)  
      javax.naming.NamingEnumeration<javax.naming.Binding> listBindings​(java.lang.String name)  
      javax.naming.NamingEnumeration<javax.naming.Binding> listBindings​(javax.naming.Name name)  
      java.lang.Object lookup​(java.lang.String name)  
      java.lang.Object lookup​(javax.naming.Name name)  
      java.lang.Object lookupLink​(java.lang.String name)  
      java.lang.Object lookupLink​(javax.naming.Name name)  
      void rebind​(java.lang.String name, java.lang.Object obj)  
      void rebind​(javax.naming.Name name, java.lang.Object obj)  
      java.lang.Object removeFromEnvironment​(java.lang.String propName)  
      void rename​(java.lang.String oldName, java.lang.String newName)  
      void rename​(javax.naming.Name oldName, javax.naming.Name newName)  
      java.lang.String toString()  
      void unbind​(java.lang.String name)  
      void unbind​(javax.naming.Name name)  
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • DelegatingContext

        public DelegatingContext​(org.apache.commons.pool2.KeyedObjectPool<java.lang.Object,​java.lang.Object> keyedObjectPool,
                                 javax.naming.Context delegateContext,
                                 DirContextType dirContextType)
        Create a new delegating context for the specified pool, context and context type.
        Parameters:
        keyedObjectPool - The pool the delegate context was checked out from.
        delegateContext - The context to delegate operations to.
        dirContextType - The type of context, used as a key for the pool.
        Throws:
        java.lang.IllegalArgumentException - if any of the arguments are null
    • Method Detail

      • getDelegateContext

        public javax.naming.Context getDelegateContext()
        Returns:
        The direct delegate for this context proxy
      • getInnermostDelegateContext

        public javax.naming.Context getInnermostDelegateContext()
        Recursivley inspect delegates until a non-delegating context is found.
        Returns:
        The innermost (real) Context that is being delegated to.
      • assertOpen

        protected void assertOpen()
                           throws javax.naming.NamingException
        Throws:
        javax.naming.NamingException - If the delegate is null, close() has been called.
      • equals

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object
        See Also:
        Object.equals(Object)
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
        See Also:
        Object.hashCode()
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
        See Also:
        Object.toString()
      • addToEnvironment

        public java.lang.Object addToEnvironment​(java.lang.String propName,
                                                 java.lang.Object propVal)
                                          throws javax.naming.NamingException
        Specified by:
        addToEnvironment in interface javax.naming.Context
        Throws:
        javax.naming.NamingException
        See Also:
        Context.addToEnvironment(String, Object)
      • bind

        public void bind​(javax.naming.Name name,
                         java.lang.Object obj)
                  throws javax.naming.NamingException
        Specified by:
        bind in interface javax.naming.Context
        Throws:
        javax.naming.NamingException
        See Also:
        Context.bind(Name, Object)
      • bind

        public void bind​(java.lang.String name,
                         java.lang.Object obj)
                  throws javax.naming.NamingException
        Specified by:
        bind in interface javax.naming.Context
        Throws:
        javax.naming.NamingException
        See Also:
        Context.bind(String, Object)
      • close

        public void close()
                   throws javax.naming.NamingException
        Specified by:
        close in interface javax.naming.Context
        Throws:
        javax.naming.NamingException
        See Also:
        Context.close()
      • composeName

        public javax.naming.Name composeName​(javax.naming.Name name,
                                             javax.naming.Name prefix)
                                      throws javax.naming.NamingException
        Specified by:
        composeName in interface javax.naming.Context
        Throws:
        javax.naming.NamingException
        See Also:
        Context.composeName(Name, Name)
      • composeName

        public java.lang.String composeName​(java.lang.String name,
                                            java.lang.String prefix)
                                     throws javax.naming.NamingException
        Specified by:
        composeName in interface javax.naming.Context
        Throws:
        javax.naming.NamingException
        See Also:
        Context.composeName(String, String)
      • createSubcontext

        public javax.naming.Context createSubcontext​(javax.naming.Name name)
                                              throws javax.naming.NamingException
        Specified by:
        createSubcontext in interface javax.naming.Context
        Throws:
        javax.naming.NamingException
        See Also:
        Context.createSubcontext(Name)
      • createSubcontext

        public javax.naming.Context createSubcontext​(java.lang.String name)
                                              throws javax.naming.NamingException
        Specified by:
        createSubcontext in interface javax.naming.Context
        Throws:
        javax.naming.NamingException
        See Also:
        Context.createSubcontext(String)
      • destroySubcontext

        public void destroySubcontext​(javax.naming.Name name)
                               throws javax.naming.NamingException
        Specified by:
        destroySubcontext in interface javax.naming.Context
        Throws:
        javax.naming.NamingException
        See Also:
        Context.destroySubcontext(Name)
      • destroySubcontext

        public void destroySubcontext​(java.lang.String name)
                               throws javax.naming.NamingException
        Specified by:
        destroySubcontext in interface javax.naming.Context
        Throws:
        javax.naming.NamingException
        See Also:
        Context.destroySubcontext(String)
      • getEnvironment

        public java.util.Hashtable<?,​?> getEnvironment()
                                                      throws javax.naming.NamingException
        Specified by:
        getEnvironment in interface javax.naming.Context
        Throws:
        javax.naming.NamingException
        See Also:
        Context.getEnvironment()
      • getNameInNamespace

        public java.lang.String getNameInNamespace()
                                            throws javax.naming.NamingException
        Specified by:
        getNameInNamespace in interface javax.naming.Context
        Throws:
        javax.naming.NamingException
        See Also:
        Context.getNameInNamespace()
      • getNameParser

        public javax.naming.NameParser getNameParser​(javax.naming.Name name)
                                              throws javax.naming.NamingException
        Specified by:
        getNameParser in interface javax.naming.Context
        Throws:
        javax.naming.NamingException
        See Also:
        Context.getNameParser(Name)
      • getNameParser

        public javax.naming.NameParser getNameParser​(java.lang.String name)
                                              throws javax.naming.NamingException
        Specified by:
        getNameParser in interface javax.naming.Context
        Throws:
        javax.naming.NamingException
        See Also:
        Context.getNameParser(String)
      • list

        public javax.naming.NamingEnumeration<javax.naming.NameClassPair> list​(javax.naming.Name name)
                                                                        throws javax.naming.NamingException
        Specified by:
        list in interface javax.naming.Context
        Throws:
        javax.naming.NamingException
        See Also:
        Context.list(Name)
      • list

        public javax.naming.NamingEnumeration<javax.naming.NameClassPair> list​(java.lang.String name)
                                                                        throws javax.naming.NamingException
        Specified by:
        list in interface javax.naming.Context
        Throws:
        javax.naming.NamingException
        See Also:
        Context.list(String)
      • listBindings

        public javax.naming.NamingEnumeration<javax.naming.Binding> listBindings​(javax.naming.Name name)
                                                                          throws javax.naming.NamingException
        Specified by:
        listBindings in interface javax.naming.Context
        Throws:
        javax.naming.NamingException
        See Also:
        Context.listBindings(Name)
      • listBindings

        public javax.naming.NamingEnumeration<javax.naming.Binding> listBindings​(java.lang.String name)
                                                                          throws javax.naming.NamingException
        Specified by:
        listBindings in interface javax.naming.Context
        Throws:
        javax.naming.NamingException
        See Also:
        Context.listBindings(String)
      • lookup

        public java.lang.Object lookup​(javax.naming.Name name)
                                throws javax.naming.NamingException
        Specified by:
        lookup in interface javax.naming.Context
        Throws:
        javax.naming.NamingException
        See Also:
        Context.lookup(Name)
      • lookup

        public java.lang.Object lookup​(java.lang.String name)
                                throws javax.naming.NamingException
        Specified by:
        lookup in interface javax.naming.Context
        Throws:
        javax.naming.NamingException
        See Also:
        Context.lookup(String)
      • lookupLink

        public java.lang.Object lookupLink​(javax.naming.Name name)
                                    throws javax.naming.NamingException
        Specified by:
        lookupLink in interface javax.naming.Context
        Throws:
        javax.naming.NamingException
        See Also:
        Context.lookupLink(Name)
      • lookupLink

        public java.lang.Object lookupLink​(java.lang.String name)
                                    throws javax.naming.NamingException
        Specified by:
        lookupLink in interface javax.naming.Context
        Throws:
        javax.naming.NamingException
        See Also:
        Context.lookupLink(String)
      • rebind

        public void rebind​(javax.naming.Name name,
                           java.lang.Object obj)
                    throws javax.naming.NamingException
        Specified by:
        rebind in interface javax.naming.Context
        Throws:
        javax.naming.NamingException
        See Also:
        Context.rebind(Name, Object)
      • rebind

        public void rebind​(java.lang.String name,
                           java.lang.Object obj)
                    throws javax.naming.NamingException
        Specified by:
        rebind in interface javax.naming.Context
        Throws:
        javax.naming.NamingException
        See Also:
        Context.rebind(String, Object)
      • removeFromEnvironment

        public java.lang.Object removeFromEnvironment​(java.lang.String propName)
                                               throws javax.naming.NamingException
        Specified by:
        removeFromEnvironment in interface javax.naming.Context
        Throws:
        javax.naming.NamingException
        See Also:
        Context.removeFromEnvironment(String)
      • rename

        public void rename​(javax.naming.Name oldName,
                           javax.naming.Name newName)
                    throws javax.naming.NamingException
        Specified by:
        rename in interface javax.naming.Context
        Throws:
        javax.naming.NamingException
        See Also:
        Context.rename(Name, Name)
      • rename

        public void rename​(java.lang.String oldName,
                           java.lang.String newName)
                    throws javax.naming.NamingException
        Specified by:
        rename in interface javax.naming.Context
        Throws:
        javax.naming.NamingException
        See Also:
        Context.rename(String, String)
      • unbind

        public void unbind​(javax.naming.Name name)
                    throws javax.naming.NamingException
        Specified by:
        unbind in interface javax.naming.Context
        Throws:
        javax.naming.NamingException
        See Also:
        Context.unbind(Name)
      • unbind

        public void unbind​(java.lang.String name)
                    throws javax.naming.NamingException
        Specified by:
        unbind in interface javax.naming.Context
        Throws:
        javax.naming.NamingException
        See Also:
        Context.unbind(String)