javax.security.jacc

## Interface PolicyContextHandler

-     public interface PolicyContextHandler

  This interface defines the methods that must be implemented by handlers that are to be registered and activated by the `PolicyContext` class. The `PolicyContext` class provides methods for containers to register and activate container-specific `PolicyContext` handlers. `Policy` providers use the `PolicyContext` class to activate handlers to obtain (from the container) additional policy relevant context to apply in their access decisions. All handlers registered and activated via the `PolicyContext` class must implement the `PolicyContextHandler` interface.
  Author:
    Ron Monzillo, Gary Ellison
  See Also:
    `PolicyContext`, `PolicyContextException`

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `Object` | `getContext(String key, Object data)` This public method is used by the `PolicyContext` class to activate the handler and obtain from it the context object identified by the (case-sensitive) key.
    `String[]` | `getKeys()` This public method returns the keys identifying the context objects supported by the handler.
    `boolean` | `supports(String key)` This public method returns a boolean result indicating whether or not the handler supports the context object identified by the (case-sensitive) key value.

- - ### Method Detail

    - #### supports

          boolean supports(String key)
                           throws PolicyContextException

      This public method returns a boolean result indicating whether or not the handler supports the context object identified by the (case-sensitive) key value.
      Parameters:
        `key` - a `String` value identifying a context object that could be supported by the handler. The value of this parameter must not be null.
      Returns:
        a boolean indicating whether or not the context object corresponding to the argument key is handled by the handler.
      Throws:
        `PolicyContextException` - if the implementation throws a checked exception that has not been accounted for by the method signature. The exception thrown by the implementation class will be encapsulated (during construction) in the thrown PolicyContextException

    - #### getKeys

          String[] getKeys()
                           throws PolicyContextException

      This public method returns the keys identifying the context objects supported by the handler. The value of each key supported by a handler must be a non-null `String` value.
      Returns:
        an array containing `String` values identifing the context objects supported by the handler. The array must not contain duplicate key values. In the unlikely case that the Handler supports no keys, the handler must return a zero length array. The value null must never be returned by this method.
      Throws:
        `PolicyContextException` - if the implementation throws a checked exception that has not been accounted for by the method signature. The exception thrown by the implementation class will be encapsulated (during construction) in the thrown PolicyContextException

    - #### getContext

          Object getContext(String key,
                          Object data)
                            throws PolicyContextException

      This public method is used by the `PolicyContext` class to activate the handler and obtain from it the context object identified by the (case-sensitive) key. In addition to the key, the handler will be activated with the handler data value associated within the `PolicyContext` class with the thread on which the call to this method is made.

      Note that the policy context identifier associated with a thread is available to the handler by calling PolicyContext.getContextID().

      Parameters:
        `key` - a String that identifies the context object to be returned by the handler. The value of this paramter must not be null.
        `data` - the handler data `Object` associated with the thread on which the call to this method has been made. Note that the value passed through this parameter may be `null`.
      Returns:
        The container and handler specific `Object` containing the desired context. A `null` value may be returned if the value of the corresponding context is null.
      Throws:
        `PolicyContextException` - if the implementation throws a checked exception that has not been accounted for by the method signature. The exception thrown by the implementation class will be encapsulated (during construction) in the thrown PolicyContextException

Copyright © 1996-2013, Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms.