org.springframework.mock.jndi

## Class ExpectedLookupTemplate

- java.lang.Object
- - org.springframework.jndi.JndiTemplate
  - - org.springframework.mock.jndi.ExpectedLookupTemplate

-     public class ExpectedLookupTemplate
      extends JndiTemplate

  Simple extension of the JndiTemplate class that always returns a given object.

  Very useful for testing. Effectively a mock object.

  Author:
    Rod Johnson, Juergen Hoeller

- - ### Field Summary

    - ### Fields inherited from class org.springframework.jndi.JndiTemplate

      `logger`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ExpectedLookupTemplate()` Construct a new JndiTemplate that will always return given objects for given names.
    `ExpectedLookupTemplate(String name, Object object)` Construct a new JndiTemplate that will always return the given object, but honour only requests for the given name.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addObject(String name, Object object)` Add the given object to the list of JNDI objects that this template will expose.
    `Object` | `lookup(String name)` If the name is the expected name specified in the constructor, return the object provided in the constructor.

    - ### Methods inherited from class org.springframework.jndi.JndiTemplate

      `bind, createInitialContext, execute, getContext, getEnvironment, lookup, rebind, releaseContext, setEnvironment, unbind`

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

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

- - ### Constructor Detail

    - #### ExpectedLookupTemplate

          public ExpectedLookupTemplate()

      Construct a new JndiTemplate that will always return given objects for given names. To be populated through `addObject` calls.
      See Also:
        `addObject(String, Object)`

    - #### ExpectedLookupTemplate

          public ExpectedLookupTemplate(String name,
                                        Object object)

      Construct a new JndiTemplate that will always return the given object, but honour only requests for the given name.
      Parameters:
        `name` - the name the client is expected to look up
        `object` - the object that will be returned

  - ### Method Detail

    - #### addObject

          public void addObject(String name,
                                Object object)

      Add the given object to the list of JNDI objects that this template will expose.
      Parameters:
        `name` - the name the client is expected to look up
        `object` - the object that will be returned

    - #### lookup

          public Object lookup(String name)
                        throws NamingException

      If the name is the expected name specified in the constructor, return the object provided in the constructor. If the name is unexpected, a respective NamingException gets thrown.
      Overrides:
        `lookup` in class `JndiTemplate`
      Parameters:
        `name` - the JNDI name of the object
      Returns:
        object found (cannot be `null`; if a not so well-behaved JNDI implementations returns null, a NamingException gets thrown)
      Throws:
        `NamingException` - if there is no object with the given name bound to JNDI