- java.lang.Object
-
- javax.faces.application.NavigationHandler
-
- javax.faces.application.ConfigurableNavigationHandler
-
- Direct Known Subclasses:
- ConfigurableNavigationHandlerWrapper
public abstract class ConfigurableNavigationHandler extends NavigationHandler
ConfigurableNavigationHandler extends the contract of
NavigationHandler
to allow runtime inspection of theNavigationCase
s 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 itsNavigationHandler
is an extension of this class.- Since:
- 2.0
-
-
Constructor Summary
Constructors Constructor and Description ConfigurableNavigationHandler()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method and Description abstract NavigationCase
getNavigationCase(FacesContext context, String fromAction, String outcome)
Return the
NavigationCase
representing the navigation that would be taken hadNavigationHandler.handleNavigation(javax.faces.context.FacesContext, java.lang.String, java.lang.String)
been called with the same arguments ornull
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 hadNavigationHandler.handleNavigation(javax.faces.context.FacesContext, java.lang.String, java.lang.String)
been called with the same arguments ornull
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 areSet<NavigationCase>
where each element in the Set is aNavigationCase
that applies to that<from-view-id>
.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, handleNavigation
-
-
-
-
Method Detail
-
getNavigationCase
public abstract NavigationCase getNavigationCase(FacesContext context, String fromAction, String outcome)
Return the
NavigationCase
representing the navigation that would be taken hadNavigationHandler.handleNavigation(javax.faces.context.FacesContext, java.lang.String, java.lang.String)
been called with the same arguments ornull
if there is no such case.- Parameters:
context
- TheFacesContext
for the current requestfromAction
- The action binding expression that was evaluated to retrieve the specified outcome, ornull
if the outcome was acquired by some other meansoutcome
- The logical outcome returned by a previous invoked application action (which may benull
)- Throws:
NullPointerException
- ifcontext
isnull
- Since:
- 2.0
-
getNavigationCase
public NavigationCase getNavigationCase(FacesContext context, String fromAction, String outcome, String toFlowDocumentId)
Return the
NavigationCase
representing the navigation that would be taken hadNavigationHandler.handleNavigation(javax.faces.context.FacesContext, java.lang.String, java.lang.String)
been called with the same arguments ornull
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 togetNavigationCase(javax.faces.context.FacesContext, java.lang.String, java.lang.String)
, ignoring thetoFlowDocumentId
parameter.- Parameters:
context
- TheFacesContext
for the current requestfromAction
- The action binding expression that was evaluated to retrieve the specified outcome, ornull
if the outcome was acquired by some other meansoutcome
- The logical outcome returned by a previous invoked application action (which may benull
)toFlowDocumentId
- The value of thetoFlowDocumentId
property for the navigation case (which may benull
)- Throws:
NullPointerException
- ifcontext
isnull
- Since:
- 2.2
-
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 areSet<NavigationCase>
where each element in the Set is aNavigationCase
that applies to that<from-view-id>
. The implementation must support live modifications to thisMap
.- Since:
- 2.0
-
performNavigation
public void performNavigation(String outcome)
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.
- Throws:
IllegalStateException
- if this method is called after this instance has been released
-
inspectFlow
public void inspectFlow(FacesContext context, Flow flow)
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.
- Since:
- 2.2
-
-
Document created the 11/06/2005, last modified the 18/08/2025
Source of the printed document:https://www.gaudry.be/en/java-api-javaee-rf-javax/faces/application/configurablenavigationhandler.html
The infobrol is a personal site whose content is my sole responsibility. The text is available under CreativeCommons license (BY-NC-SA). More info on the terms of use and the author.
References
These references and links indicate documents consulted during the writing of this page, or which may provide additional information, but the authors of these sources can not be held responsible for the content of this page.
The author of this site is solely responsible for the way in which the various concepts, and the freedoms that are taken with the reference works, are presented here. Remember that you must cross multiple source information to reduce the risk of errors.