javax.faces.application
Class ConfigurableNavigationHandler

java.lang.Object
  extended by javax.faces.application.NavigationHandler
      extended by javax.faces.application.ConfigurableNavigationHandler

public abstract class ConfigurableNavigationHandler
extends NavigationHandler

ConfigurableNavigationHandler extends the contract of NavigationHandler to allow runtime inspection of the NavigationCases that make up the rule-base for navigation. An implementation compliant with the version of the specification in which this class was introduced (or a later version) must make it so that its NavigationHandler is an extension of this class.

Since:
2.0

Constructor Summary
ConfigurableNavigationHandler()
           
 
Method Summary
abstract  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.

abstract  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>.

 void performNavigation(String outcome)
          

A convenience method to signal the JavaServer Faces implementation to perform navigaton 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

ConfigurableNavigationHandler

public ConfigurableNavigationHandler()
Method Detail

getNavigationCase

public abstract 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.

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)
Throws:
NullPointerException - if context is null
Since:
2.0

getNavigationCases

public abstract 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>. The implementation must support live modifications to this Map.

Since:
2.0

performNavigation

public void performNavigation(String outcome)

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

Throws:
IllegalStateException - if this method is called after this instance has been released


Copyright 2002-2009 Sun Microsystems, Inc. All Rights Reserved.