## 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
`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
`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`