Overview | Package | Class | Tree | Deprecated | Index | Help
| Spring Framework
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.springframework.jndi
Class JndiTemplate

    java.lang.Object
      org.springframework.jndi.JndiTemplate

Direct Known Subclasses:
  ExpectedLookupTemplate

    public class JndiTemplate

extends java.lang.Object

Helper class that simplifies JNDI operations. It provides methods to lookup and bind objects, and allows implementations of the `JndiCallback` interface to perform any operation they like with a JNDI naming context provided.

Author:
  Rod Johnson, Juergen Hoeller
See Also:
  `JndiCallback`, `execute(org.springframework.jndi.JndiCallback)`

Field Summary
`protected org.apache.commons.logging.Log` | `logger`

Constructor Summary
`JndiTemplate()` Create a new JndiTemplate instance.
`JndiTemplate(java.util.Properties environment)` Create a new JndiTemplate instance, using the given environment.

Method Summary
`void` | `bind(java.lang.String name, java.lang.Object object)` Bind the given object to the current JNDI context, using the given name.
`protected javax.naming.Context` | `createInitialContext()` Create a new JNDI initial context.
`
`<T> T`
` | `execute(JndiCallback<T> contextCallback)` Execute the given JNDI context callback implementation.
`javax.naming.Context` | `getContext()` Obtain a JNDI context corresponding to this template's configuration.
`java.util.Properties` | `getEnvironment()` Return the environment for the JNDI InitialContext, if any.
`java.lang.Object` | `lookup(java.lang.String name)` Look up the object with the given name in the current JNDI context.
`
`<T> T`
` | `lookup(java.lang.String name, java.lang.Class<T> requiredType)` Look up the object with the given name in the current JNDI context.
`void` | `rebind(java.lang.String name, java.lang.Object object)` Rebind the given object to the current JNDI context, using the given name.
`void` | `releaseContext(javax.naming.Context ctx)` Release a JNDI context as obtained from `getContext()`.
`void` | `setEnvironment(java.util.Properties environment)` Set the environment for the JNDI InitialContext.
`void` | `unbind(java.lang.String name)` Remove the binding for the given name from the current JNDI context.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### logger

    protected final org.apache.commons.logging.Log logger

Constructor Detail

### JndiTemplate

    public JndiTemplate()

  Create a new JndiTemplate instance.

### JndiTemplate

    public JndiTemplate(java.util.Properties environment)

  Create a new JndiTemplate instance, using the given environment.

Method Detail

### setEnvironment

    public void setEnvironment(java.util.Properties environment)

  Set the environment for the JNDI InitialContext.

### getEnvironment

    public java.util.Properties getEnvironment()

  Return the environment for the JNDI InitialContext, if any.

### execute

    public <T> T execute(JndiCallback<T> contextCallback)
              throws javax.naming.NamingException

  Execute the given JNDI context callback implementation.

  Parameters:
    `contextCallback` - JndiCallback implementation
  Returns:
    a result object returned by the callback, or `null`
  Throws:
    `javax.naming.NamingException` - thrown by the callback implementation
  See Also:
    `createInitialContext()`

### getContext

    public javax.naming.Context getContext()
                                    throws javax.naming.NamingException

  Obtain a JNDI context corresponding to this template's configuration. Called by `execute(org.springframework.jndi.JndiCallback)`; may also be called directly.

  The default implementation delegates to `createInitialContext()`.

  Returns:
    the JNDI context (never `null`)
  Throws:
    `javax.naming.NamingException` - if context retrieval failed
  See Also:
    `releaseContext(javax.naming.Context)`

### releaseContext

    public void releaseContext(javax.naming.Context ctx)

  Release a JNDI context as obtained from `getContext()`.

  Parameters:
    `ctx` - the JNDI context to release (may be `null`)
  See Also:
    `getContext()`

### createInitialContext

    protected javax.naming.Context createInitialContext()
                                                 throws javax.naming.NamingException

  Create a new JNDI initial context. Invoked by `getContext()`.

  The default implementation use this template's environment settings. Can be subclassed for custom contexts, e.g. for testing.

  Returns:
    the initial Context instance
  Throws:
    `javax.naming.NamingException` - in case of initialization errors

### lookup

    public java.lang.Object lookup(java.lang.String name)
                            throws javax.naming.NamingException

  Look up the object with the given name in the current JNDI context.

  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:
    `javax.naming.NamingException` - if there is no object with the given name bound to JNDI

### lookup

    public <T> T lookup(java.lang.String name,
                        java.lang.Class<T> requiredType)
             throws javax.naming.NamingException

  Look up the object with the given name in the current JNDI context.

  Parameters:
    `name` - the JNDI name of the object
    `requiredType` - type the JNDI object must match. Can be an interface or superclass of the actual class, or `null` for any match. For example, if the value is `Object.class`, this method will succeed whatever the class of the returned instance.
  Returns:
    object found (cannot be `null`; if a not so well-behaved JNDI implementations returns null, a NamingException gets thrown)
  Throws:
    `javax.naming.NamingException` - if there is no object with the given name bound to JNDI

### bind

    public void bind(java.lang.String name,
                     java.lang.Object object)
              throws javax.naming.NamingException

  Bind the given object to the current JNDI context, using the given name.

  Parameters:
    `name` - the JNDI name of the object
    `object` - the object to bind
  Throws:
    `javax.naming.NamingException` - thrown by JNDI, mostly name already bound

### rebind

    public void rebind(java.lang.String name,
                       java.lang.Object object)
                throws javax.naming.NamingException

  Rebind the given object to the current JNDI context, using the given name. Overwrites any existing binding.

  Parameters:
    `name` - the JNDI name of the object
    `object` - the object to rebind
  Throws:
    `javax.naming.NamingException` - thrown by JNDI

### unbind

    public void unbind(java.lang.String name)
                throws javax.naming.NamingException

  Remove the binding for the given name from the current JNDI context.

  Parameters:
    `name` - the JNDI name of the object
  Throws:
    `javax.naming.NamingException` - thrown by JNDI, mostly name not found

Overview | Package | Class | Tree | Deprecated | Index | Help
| Spring Framework
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD