Class SelectorContext

  • All Implemented Interfaces:
    javax.naming.Context

    public class SelectorContext
    extends java.lang.Object
    implements javax.naming.Context
    Catalina JNDI Context implementation.
    Author:
    Remy Maucherat
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected java.util.Hashtable<java.lang.String,​java.lang.Object> env
      Environment.
      static java.lang.String IC_PREFIX
      Initial context prefix.
      protected boolean initialContext
      Request for an initial context.
      static java.lang.String prefix
      Namespace URL.
      static int prefixLength
      Namespace URL length.
      protected static StringManager sm
      The string manager for this package.
      • 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
      SelectorContext​(java.util.Hashtable<java.lang.String,​java.lang.Object> env)
      Builds a Catalina selector context using the given environment.
      SelectorContext​(java.util.Hashtable<java.lang.String,​java.lang.Object> env, boolean initialContext)
      Builds a Catalina selector context using the given environment.
    • 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)  
      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)  
      protected javax.naming.Context getBoundContext()
      Get the bound context.
      java.util.Hashtable<?,​?> getEnvironment()  
      java.lang.String getNameInNamespace()  
      javax.naming.NameParser getNameParser​(java.lang.String name)  
      javax.naming.NameParser getNameParser​(javax.naming.Name name)  
      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)  
      protected java.lang.String parseName​(java.lang.String name)
      Strips the URL header.
      protected javax.naming.Name parseName​(javax.naming.Name name)
      Strips the URL header.
      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)  
      void unbind​(java.lang.String name)  
      void unbind​(javax.naming.Name name)  
      • Methods inherited from class java.lang.Object

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

      • prefixLength

        public static final int prefixLength
        Namespace URL length.
      • IC_PREFIX

        public static final java.lang.String IC_PREFIX
        Initial context prefix.
        See Also:
        Constant Field Values
      • env

        protected final java.util.Hashtable<java.lang.String,​java.lang.Object> env
        Environment.
      • sm

        protected static final StringManager sm
        The string manager for this package.
      • initialContext

        protected final boolean initialContext
        Request for an initial context.
    • Constructor Detail

      • SelectorContext

        public SelectorContext​(java.util.Hashtable<java.lang.String,​java.lang.Object> env)
        Builds a Catalina selector context using the given environment.
        Parameters:
        env - The environment
      • SelectorContext

        public SelectorContext​(java.util.Hashtable<java.lang.String,​java.lang.Object> env,
                               boolean initialContext)
        Builds a Catalina selector context using the given environment.
        Parameters:
        env - The environment
        initialContext - true if this is the main initial context
    • Method Detail

      • 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
      • 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
      • 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
      • 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
      • 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
      • 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
      • unbind

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

        public void unbind​(java.lang.String name)
                    throws javax.naming.NamingException
        Specified by:
        unbind in interface javax.naming.Context
        Throws:
        javax.naming.NamingException
      • 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
      • 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
      • 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
      • 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
      • 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
      • 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
      • destroySubcontext

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

        public void destroySubcontext​(java.lang.String name)
                               throws javax.naming.NamingException
        Specified by:
        destroySubcontext in interface javax.naming.Context
        Throws:
        javax.naming.NamingException
      • 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
      • 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
      • 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
      • 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
      • 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
      • 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
      • 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
      • 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
      • 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
      • 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
      • getEnvironment

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

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

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

        protected javax.naming.Context getBoundContext()
                                                throws javax.naming.NamingException
        Get the bound context.
        Returns:
        the Context bound with either the current thread or the current classloader
        Throws:
        javax.naming.NamingException - Bindings exception
      • parseName

        protected java.lang.String parseName​(java.lang.String name)
                                      throws javax.naming.NamingException
        Strips the URL header.
        Parameters:
        name - The name
        Returns:
        the parsed name
        Throws:
        javax.naming.NamingException - if there is no "java:" header or if no naming context has been bound to this thread
      • parseName

        protected javax.naming.Name parseName​(javax.naming.Name name)
                                       throws javax.naming.NamingException
        Strips the URL header.
        Parameters:
        name - The name
        Returns:
        the parsed name
        Throws:
        javax.naming.NamingException - if there is no "java:" header or if no naming context has been bound to this thread