org.apache.naming

## Class ContextBindings

- java.lang.Object
- - org.apache.naming.ContextBindings

-     public class ContextBindings
      extends Object

  Handles the associations :
  - Object with a NamingContext
  - Calling thread with a NamingContext
  - Calling thread with object bound to the same naming context
  - Thread context class loader with a NamingContext
  - Thread context class loader with object bound to the same NamingContext
  The objects are typically Catalina Server or Context objects.
  Author:
    Remy Maucherat

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected static StringManager` | `sm` The string manager for this package.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ContextBindings()`

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static void` | `bindClassLoader(Object obj, Object token, ClassLoader classLoader)` Binds a naming context to a class loader.
    `static void` | `bindContext(Object obj, Context context)` Binds an object and a naming context.
    `static void` | `bindContext(Object obj, Context context, Object token)` Binds an object and a naming context.
    `static void` | `bindThread(Object obj, Object token)` Binds a naming context to a thread.
    `static Context` | `getClassLoader()` Retrieves the naming context bound to a class loader.
    `static Context` | `getThread()` Retrieves the naming context bound to the current thread.
    `static boolean` | `isClassLoaderBound()` Tests if the thread context class loader is bound to a context.
    `static boolean` | `isThreadBound()` Tests if current thread is bound to a naming context.
    `static void` | `unbindClassLoader(Object obj, Object token, ClassLoader classLoader)` Unbinds a naming context and a class loader.
    `static void` | `unbindContext(Object obj, Object token)` Unbinds an object and a naming context.
    `static void` | `unbindThread(Object obj, Object token)` Unbinds a thread and a naming context.

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

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

- - ### Field Detail

    - #### sm

          protected static final StringManager sm

      The string manager for this package.

  - ### Constructor Detail

    - #### ContextBindings

          public ContextBindings()

  - ### Method Detail

    - #### bindContext

          public static void bindContext(Object obj,
                                         Context context)

      Binds an object and a naming context.
      Parameters:
        `obj` - Object to bind with naming context
        `context` - Associated naming context instance

    - #### bindContext

          public static void bindContext(Object obj,
                                         Context context,
                                         Object token)

      Binds an object and a naming context.
      Parameters:
        `obj` - Object to bind with naming context
        `context` - Associated naming context instance
        `token` - Security token

    - #### unbindContext

          public static void unbindContext(Object obj,
                                           Object token)

      Unbinds an object and a naming context.
      Parameters:
        `obj` - Object to unbind
        `token` - Security token

    - #### bindThread

          public static void bindThread(Object obj,
                                        Object token)
                                 throws NamingException

      Binds a naming context to a thread.
      Parameters:
        `obj` - Object bound to the required naming context
        `token` - Security token
      Throws:
        `NamingException` - If no naming context is bound to the provided object

    - #### unbindThread

          public static void unbindThread(Object obj,
                                          Object token)

      Unbinds a thread and a naming context.
      Parameters:
        `obj` - Object bound to the required naming context
        `token` - Security token

    - #### getThread

          public static Context getThread()
                                   throws NamingException

      Retrieves the naming context bound to the current thread.
      Returns:
        The naming context bound to the current thread.
      Throws:
        `NamingException` - If no naming context is bound to the current thread

    - #### isThreadBound

          public static boolean isThreadBound()

      Tests if current thread is bound to a naming context.
      Returns:
        `true` if the current thread is bound to a naming context, otherwise `false`

    - #### bindClassLoader

          public static void bindClassLoader(Object obj,
                                             Object token,
                                             ClassLoader classLoader)
                                      throws NamingException

      Binds a naming context to a class loader.
      Parameters:
        `obj` - Object bound to the required naming context
        `token` - Security token
        `classLoader` - The class loader to bind to the naming context
      Throws:
        `NamingException` - If no naming context is bound to the provided object

    - #### unbindClassLoader

          public static void unbindClassLoader(Object obj,
                                               Object token,
                                               ClassLoader classLoader)

      Unbinds a naming context and a class loader.
      Parameters:
        `obj` - Object bound to the required naming context
        `token` - Security token
        `classLoader` - The class loader bound to the naming context

    - #### getClassLoader

          public static Context getClassLoader()
                                        throws NamingException

      Retrieves the naming context bound to a class loader.
      Returns:
        the naming context bound to current class loader or one of its parents
      Throws:
        `NamingException` - If no naming context was bound

    - #### isClassLoaderBound

          public static boolean isClassLoaderBound()

      Tests if the thread context class loader is bound to a context.
      Returns:
        `true` if the thread context class loader or one of its parents is bound to a naming context, otherwise `false`

Copyright © 2000-2022 Apache Software Foundation. All Rights Reserved.