Class NamingContext

  • All Implemented Interfaces:
    javax.naming.Context

    public class NamingContext
    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.HashMap<java.lang.String,​NamingEntry> bindings
      Bindings in this Context.
      protected java.util.Hashtable<java.lang.String,​java.lang.Object> env
      Environment.
      protected java.lang.String name
      Name of the associated Catalina Context.
      protected static javax.naming.NameParser nameParser
      Name parser for this context.
      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
      NamingContext​(java.util.Hashtable<java.lang.String,​java.lang.Object> env, java.lang.String name)
      Builds a naming context.
      NamingContext​(java.util.Hashtable<java.lang.String,​java.lang.Object> env, java.lang.String name, java.util.HashMap<java.lang.String,​NamingEntry> bindings)
      Builds a naming context.
    • 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)  
      protected void bind​(javax.naming.Name name, java.lang.Object obj, boolean rebind)
      Binds a name to an object.
      protected boolean checkWritable()
      Throws a naming exception is Context is not writable.
      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)  
      java.util.Hashtable<?,​?> getEnvironment()  
      boolean getExceptionOnFailedWrite()  
      java.lang.String getNameInNamespace()  
      javax.naming.NameParser getNameParser​(java.lang.String name)  
      javax.naming.NameParser getNameParser​(javax.naming.Name name)  
      protected boolean isWritable()  
      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)  
      protected java.lang.Object lookup​(javax.naming.Name name, boolean resolveLinks)
      Retrieves the named object.
      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)  
      void setExceptionOnFailedWrite​(boolean exceptionOnFailedWrite)  
      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

      • nameParser

        protected static final javax.naming.NameParser nameParser
        Name parser for this context.
      • 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.
      • bindings

        protected final java.util.HashMap<java.lang.String,​NamingEntry> bindings
        Bindings in this Context.
      • name

        protected final java.lang.String name
        Name of the associated Catalina Context.
    • Constructor Detail

      • NamingContext

        public NamingContext​(java.util.Hashtable<java.lang.String,​java.lang.Object> env,
                             java.lang.String name)
        Builds a naming context.
        Parameters:
        env - The environment to use to construct the naming context
        name - The name of the associated Catalina Context
      • NamingContext

        public NamingContext​(java.util.Hashtable<java.lang.String,​java.lang.Object> env,
                             java.lang.String name,
                             java.util.HashMap<java.lang.String,​NamingEntry> bindings)
        Builds a naming context.
        Parameters:
        env - The environment to use to construct the naming context
        name - The name of the associated Catalina Context
        bindings - The initial bindings for the naming context
    • Method Detail

      • getExceptionOnFailedWrite

        public boolean getExceptionOnFailedWrite()
      • setExceptionOnFailedWrite

        public void setExceptionOnFailedWrite​(boolean exceptionOnFailedWrite)
      • 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)
        Specified by:
        composeName in interface javax.naming.Context
      • addToEnvironment

        public java.lang.Object addToEnvironment​(java.lang.String propName,
                                                 java.lang.Object propVal)
        Specified by:
        addToEnvironment in interface javax.naming.Context
      • removeFromEnvironment

        public java.lang.Object removeFromEnvironment​(java.lang.String propName)
        Specified by:
        removeFromEnvironment in interface javax.naming.Context
      • getEnvironment

        public java.util.Hashtable<?,​?> getEnvironment()
        Specified by:
        getEnvironment in interface javax.naming.Context
      • 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
      • lookup

        protected java.lang.Object lookup​(javax.naming.Name name,
                                          boolean resolveLinks)
                                   throws javax.naming.NamingException
        Retrieves the named object.
        Parameters:
        name - the name of the object to look up
        resolveLinks - If true, the links will be resolved
        Returns:
        the object bound to name
        Throws:
        javax.naming.NamingException - if a naming exception is encountered
      • bind

        protected void bind​(javax.naming.Name name,
                            java.lang.Object obj,
                            boolean rebind)
                     throws javax.naming.NamingException
        Binds a name to an object. All intermediate contexts and the target context (that named by all but terminal atomic component of the name) must already exist.
        Parameters:
        name - the name to bind; may not be empty
        obj - the object to bind; possibly null
        rebind - if true, then perform a rebind (ie, overwrite)
        Throws:
        javax.naming.NameAlreadyBoundException - if name is already bound
        javax.naming.directory.InvalidAttributesException - if object did not supply all mandatory attributes
        javax.naming.NamingException - if a naming exception is encountered
      • isWritable

        protected boolean isWritable()
        Returns:
        true if writing is allowed on this context.
      • checkWritable

        protected boolean checkWritable()
                                 throws javax.naming.NamingException
        Throws a naming exception is Context is not writable.
        Returns:
        true if the Context is writable
        Throws:
        javax.naming.NamingException - if the Context is not writable and exceptionOnFailedWrite is true