javax.faces.application

## Class ConfigurableNavigationHandlerWrapper

- java.lang.Object
- - javax.faces.application.NavigationHandler
  - - javax.faces.application.ConfigurableNavigationHandler
    - - javax.faces.application.ConfigurableNavigationHandlerWrapper

- All Implemented Interfaces:
    FacesWrapper<ConfigurableNavigationHandler>

      public abstract class ConfigurableNavigationHandlerWrapper
      extends ConfigurableNavigationHandler
      implements FacesWrapper<ConfigurableNavigationHandler>

  Provides a simple implementation of `ConfigurableNavigationHandler` that can be subclassed by developers wishing to provide specialized behavior to an existing `ConfigurableNavigationHandler` instance. The default implementation of all methods is to call through to the wrapped `ConfigurableNavigationHandler`.

  Usage: extend this class and override `getWrapped()` to return the instance we are wrapping.

  Since:
    2.2

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `ConfigurableNavigationHandlerWrapper()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `NavigationCase` | `getNavigationCase(FacesContext context, String fromAction, String outcome)` Return the `NavigationCase` representing the navigation that would be taken had `NavigationHandler.handleNavigation(javax.faces.context.FacesContext, java.lang.String, java.lang.String)` been called with the same arguments or `null` if there is no such case.
    `NavigationCase` | `getNavigationCase(FacesContext context, String fromAction, String outcome, String toFlowDocumentId)` Return the `NavigationCase` representing the navigation that would be taken had `NavigationHandler.handleNavigation(javax.faces.context.FacesContext, java.lang.String, java.lang.String)` been called with the same arguments or `null` if there is no such case.
    `Map<String,Set<NavigationCase>>` | `getNavigationCases()` Return a `Map<String, Set<NavigationCase>>` where the keys are `<from-view-id>` values and the values are `Set<NavigationCase>` where each element in the Set is a `NavigationCase` that applies to that `<from-view-id>`.
    `abstract ConfigurableNavigationHandler` | `getWrapped()` A class that implements this interface uses this method to return an instance of the class being wrapped.
    `void` | `handleNavigation(FacesContext context, String fromAction, String outcome)` Perform navigation processing based on the state information in the specified `FacesContext`, plus the outcome string returned by an executed application action.
    `void` | `inspectFlow(FacesContext context, Flow flow)` Called by the flow system to cause the flow to be inspected for navigation rules.
    `void` | `performNavigation(String outcome)` A convenience method to signal the JavaServer Faces implementation to perform navigation with the provided outcome.

    - ### Methods inherited from class javax.faces.application.NavigationHandler

      `handleNavigation`

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

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

- - ### Constructor Detail

    - #### ConfigurableNavigationHandlerWrapper

          public ConfigurableNavigationHandlerWrapper()

  - ### Method Detail

    - #### getWrapped

          public abstract ConfigurableNavigationHandler getWrapped()

      Description copied from interface: `FacesWrapper`

      A class that implements this interface uses this method to return an instance of the class being wrapped.

      Specified by:
        `getWrapped` in interface `FacesWrapper<ConfigurableNavigationHandler>`
      Returns:
        the instance that we are wrapping.

    - #### getNavigationCase

          public NavigationCase getNavigationCase(FacesContext context,
                                         String fromAction,
                                         String outcome)

      Description copied from class: `ConfigurableNavigationHandler`

      Return the `NavigationCase` representing the navigation that would be taken had `NavigationHandler.handleNavigation(javax.faces.context.FacesContext, java.lang.String, java.lang.String)` been called with the same arguments or `null` if there is no such case.

      Specified by:
        `getNavigationCase` in class `ConfigurableNavigationHandler`
      Parameters:
        `context` - The `FacesContext` for the current request
        `fromAction` - The action binding expression that was evaluated to retrieve the specified outcome, or `null` if the outcome was acquired by some other means
        `outcome` - The logical outcome returned by a previous invoked application action (which may be `null`)

    - #### getNavigationCases

          public Map<String,Set<NavigationCase>> getNavigationCases()

      Description copied from class: `ConfigurableNavigationHandler`

      Return a `Map<String, Set<NavigationCase>>` where the keys are `<from-view-id>` values and the values are `Set<NavigationCase>` where each element in the Set is a `NavigationCase` that applies to that `<from-view-id>`. The implementation must support live modifications to this `Map`.

      Specified by:
        `getNavigationCases` in class `ConfigurableNavigationHandler`

    - #### getNavigationCase

          public NavigationCase getNavigationCase(FacesContext context,
                                         String fromAction,
                                         String outcome,
                                         String toFlowDocumentId)

      Description copied from class: `ConfigurableNavigationHandler`

      Return the `NavigationCase` representing the navigation that would be taken had `NavigationHandler.handleNavigation(javax.faces.context.FacesContext, java.lang.String, java.lang.String)` been called with the same arguments or `null` if there is no such case. Implementations that comply the version of the specification in which this method was introduced must override this method. For compatibility with decorated implementations that comply with an earlier version of the specification, an implementation is provided that simply calls through to `ConfigurableNavigationHandler.getNavigationCase(javax.faces.context.FacesContext, java.lang.String, java.lang.String)`, ignoring the `toFlowDocumentId` parameter.

      Overrides:
        `getNavigationCase` in class `ConfigurableNavigationHandler`
      Parameters:
        `context` - The `FacesContext` for the current request
        `fromAction` - The action binding expression that was evaluated to retrieve the specified outcome, or `null` if the outcome was acquired by some other means
        `outcome` - The logical outcome returned by a previous invoked application action (which may be `null`)
        `toFlowDocumentId` - The value of the `toFlowDocumentId` property for the navigation case (which may be `null`)

    - #### handleNavigation

          public void handleNavigation(FacesContext context,
                              String fromAction,
                              String outcome)

      Description copied from class: `NavigationHandler`

      Perform navigation processing based on the state information in the specified `FacesContext`, plus the outcome string returned by an executed application action.

      If the implementation class also extends `ConfigurableNavigationHandler`, the implementation must guarantee that the logic used in a call to `ConfigurableNavigationHandler.getNavigationCase(javax.faces.context.FacesContext, java.lang.String, java.lang.String)` is used in this method to determine the correct navigation.

      This method must set the render targets (used in partial rendering) to `render all` invoking `PartialViewContext.setRenderAll(boolean)`) if the view identifier has changed as the result of an application action (to take into account `Ajax requests`).

      Specified by:
        `handleNavigation` in class `NavigationHandler`
      Parameters:
        `context` - The `FacesContext` for the current request
        `fromAction` - The action binding expression that was evaluated to retrieve the specified outcome, or `null` if the outcome was acquired by some other means
        `outcome` - The logical outcome returned by a previous invoked application action (which may be `null`)

    - #### performNavigation

          public void performNavigation(String outcome)

      Description copied from class: `ConfigurableNavigationHandler`

      A convenience method to signal the JavaServer Faces implementation to perform navigation with the provided outcome. When the NavigationHandler is invoked, the current viewId is treated as the "from viewId" and the "from action" is null.

      Overrides:
        `performNavigation` in class `ConfigurableNavigationHandler`

    - #### inspectFlow

          public void inspectFlow(FacesContext context,
                         Flow flow)

      Description copied from class: `ConfigurableNavigationHandler`

      Called by the flow system to cause the flow to be inspected for navigation rules. For backward compatibility with earlier implementations, an empty method is provided.

      Overrides:
        `inspectFlow` in class `ConfigurableNavigationHandler`

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