org.springframework.mock.jndi

## Class SimpleNamingContext

- java.lang.Object
- - org.springframework.mock.jndi.SimpleNamingContext

- All Implemented Interfaces:
    Context

      public class SimpleNamingContext
      extends Object
      implements Context

  Simple implementation of a JNDI naming context. Only supports binding plain Objects to String names. Mainly for test environments, but also usable for standalone applications.

  This class is not intended for direct usage by applications, although it can be used for example to override JndiTemplate's `createInitialContext` method in unit tests. Typically, SimpleNamingContextBuilder will be used to set up a JVM-level JNDI environment.

  Author:
    Rod Johnson, Juergen Hoeller
  See Also:
    `SimpleNamingContextBuilder`, `JndiTemplate.createInitialContext()`

- - ### 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 and Description
    `SimpleNamingContext()` Create a new naming context.
    `SimpleNamingContext(String root)` Create a new naming context with the given naming root.
    `SimpleNamingContext(String root, Hashtable<String,Object> boundObjects, Hashtable<String,Object> env)` Create a new naming context with the given naming root, the given name/object map, and the JNDI environment entries.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `Object` | `addToEnvironment(String propName, Object propVal)`
    `void` | `bind(Name name, Object obj)`
    `void` | `bind(String name, Object obj)` Bind the given object to the given name.
    `void` | `close()`
    `Name` | `composeName(Name name, Name prefix)`
    `String` | `composeName(String name, String prefix)`
    `Context` | `createSubcontext(Name name)`
    `Context` | `createSubcontext(String name)`
    `void` | `destroySubcontext(Name name)`
    `void` | `destroySubcontext(String name)`
    `Hashtable<String,Object>` | `getEnvironment()`
    `String` | `getNameInNamespace()`
    `NameParser` | `getNameParser(Name name)`
    `NameParser` | `getNameParser(String name)`
    `NamingEnumeration<NameClassPair>` | `list(Name name)`
    `NamingEnumeration<NameClassPair>` | `list(String root)`
    `NamingEnumeration<Binding>` | `listBindings(Name name)`
    `NamingEnumeration<Binding>` | `listBindings(String root)`
    `Object` | `lookup(Name name)`
    `Object` | `lookup(String lookupName)` Look up the object with the given name.
    `Object` | `lookupLink(Name name)`
    `Object` | `lookupLink(String name)`
    `void` | `rebind(Name name, Object obj)`
    `void` | `rebind(String name, Object obj)`
    `Object` | `removeFromEnvironment(String propName)`
    `void` | `rename(Name oldName, Name newName)`
    `void` | `rename(String oldName, String newName)`
    `void` | `unbind(Name name)`
    `void` | `unbind(String name)`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### SimpleNamingContext

          public SimpleNamingContext()

      Create a new naming context.

    - #### SimpleNamingContext

          public SimpleNamingContext(String root)

      Create a new naming context with the given naming root.

    - #### SimpleNamingContext

          public SimpleNamingContext(String root,
                             Hashtable<String,Object> boundObjects,
                             Hashtable<String,Object> env)

      Create a new naming context with the given naming root, the given name/object map, and the JNDI environment entries.

  - ### Method Detail

    - #### list

          public NamingEnumeration<NameClassPair> list(String root)
                                                throws NamingException

      Specified by:
        `list` in interface `Context`
      Throws:
        `NamingException`

    - #### listBindings

          public NamingEnumeration<Binding> listBindings(String root)
                                                  throws NamingException

      Specified by:
        `listBindings` in interface `Context`
      Throws:
        `NamingException`

    - #### lookup

          public Object lookup(String lookupName)
                        throws NameNotFoundException

      Look up the object with the given name.

      Note: Not intended for direct use by applications. Will be used by any standard InitialContext JNDI lookups.

      Specified by:
        `lookup` in interface `Context`
      Throws:
        `NameNotFoundException` - if the object could not be found

    - #### lookupLink

          public Object lookupLink(String name)
                            throws NameNotFoundException

      Specified by:
        `lookupLink` in interface `Context`
      Throws:
        `NameNotFoundException`

    - #### bind

          public void bind(String name,
                  Object obj)

      Bind the given object to the given name. Note: Not intended for direct use by applications if setting up a JVM-level JNDI environment. Use SimpleNamingContextBuilder to set up JNDI bindings then.
      Specified by:
        `bind` in interface `Context`
      See Also:
        `SimpleNamingContextBuilder.bind(java.lang.String, java.lang.Object)`

    - #### unbind

          public void unbind(String name)

      Specified by:
        `unbind` in interface `Context`

    - #### rebind

          public void rebind(String name,
                    Object obj)

      Specified by:
        `rebind` in interface `Context`

    - #### rename

          public void rename(String oldName,
                    String newName)
                      throws NameNotFoundException

      Specified by:
        `rename` in interface `Context`
      Throws:
        `NameNotFoundException`

    - #### createSubcontext

          public Context createSubcontext(String name)

      Specified by:
        `createSubcontext` in interface `Context`

    - #### destroySubcontext

          public void destroySubcontext(String name)

      Specified by:
        `destroySubcontext` in interface `Context`

    - #### composeName

          public String composeName(String name,
                           String prefix)

      Specified by:
        `composeName` in interface `Context`

    - #### getEnvironment

          public Hashtable<String,Object> getEnvironment()

      Specified by:
        `getEnvironment` in interface `Context`

    - #### addToEnvironment

          public Object addToEnvironment(String propName,
                                Object propVal)

      Specified by:
        `addToEnvironment` in interface `Context`

    - #### removeFromEnvironment

          public Object removeFromEnvironment(String propName)

      Specified by:
        `removeFromEnvironment` in interface `Context`

    - #### close

          public void close()

      Specified by:
        `close` in interface `Context`

    - #### list

          public NamingEnumeration<NameClassPair> list(Name name)
                                                throws NamingException

      Specified by:
        `list` in interface `Context`
      Throws:
        `NamingException`

    - #### listBindings

          public NamingEnumeration<Binding> listBindings(Name name)
                                                  throws NamingException

      Specified by:
        `listBindings` in interface `Context`
      Throws:
        `NamingException`

    - #### lookup

          public Object lookup(Name name)
                        throws NamingException

      Specified by:
        `lookup` in interface `Context`
      Throws:
        `NamingException`

    - #### lookupLink

          public Object lookupLink(Name name)
                            throws NamingException

      Specified by:
        `lookupLink` in interface `Context`
      Throws:
        `NamingException`

    - #### bind

          public void bind(Name name,
                  Object obj)
                    throws NamingException

      Specified by:
        `bind` in interface `Context`
      Throws:
        `NamingException`

    - #### unbind

          public void unbind(Name name)
                      throws NamingException

      Specified by:
        `unbind` in interface `Context`
      Throws:
        `NamingException`

    - #### rebind

          public void rebind(Name name,
                    Object obj)
                      throws NamingException

      Specified by:
        `rebind` in interface `Context`
      Throws:
        `NamingException`

    - #### rename

          public void rename(Name oldName,
                    Name newName)
                      throws NamingException

      Specified by:
        `rename` in interface `Context`
      Throws:
        `NamingException`

    - #### createSubcontext

          public Context createSubcontext(Name name)
                                   throws NamingException

      Specified by:
        `createSubcontext` in interface `Context`
      Throws:
        `NamingException`

    - #### destroySubcontext

          public void destroySubcontext(Name name)
                                 throws NamingException

      Specified by:
        `destroySubcontext` in interface `Context`
      Throws:
        `NamingException`

    - #### getNameInNamespace

          public String getNameInNamespace()
                                    throws NamingException

      Specified by:
        `getNameInNamespace` in interface `Context`
      Throws:
        `NamingException`

    - #### getNameParser

          public NameParser getNameParser(Name name)
                                   throws NamingException

      Specified by:
        `getNameParser` in interface `Context`
      Throws:
        `NamingException`

    - #### getNameParser

          public NameParser getNameParser(String name)
                                   throws NamingException

      Specified by:
        `getNameParser` in interface `Context`
      Throws:
        `NamingException`

    - #### composeName

          public Name composeName(Name name,
                         Name prefix)
                           throws NamingException

      Specified by:
        `composeName` in interface `Context`
      Throws:
        `NamingException`