javax.faces.application
Class ConfigurableNavigationHandlerWrapper

java.lang.Object
  extended by javax.faces.application.NavigationHandler
      extended by javax.faces.application.ConfigurableNavigationHandler
          extended by 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
ConfigurableNavigationHandlerWrapper()
           
 
Method Summary
 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


Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms