Class NavigationHandlerImpl
- java.lang.Object
-
- jakarta.faces.application.NavigationHandler
-
- jakarta.faces.application.ConfigurableNavigationHandler
-
- com.sun.faces.application.NavigationHandlerImpl
-
public class NavigationHandlerImpl extends ConfigurableNavigationHandler
NavigationHandlerImpl is the class that implements default navigation handling. Refer to section 7.4.2 of the specification for more details. PENDING: Make independent of ApplicationAssociate.
-
-
Constructor Summary
Constructors Constructor Description NavigationHandlerImpl()This constructor uses the currentApplicationAssociateinstance to obtain the navigation mappings used to make navigational decisions.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description NavigationCasegetNavigationCase(FacesContext context, String fromAction, String outcome)Return theNavigationCaserepresenting the navigation that would be taken hadNavigationHandler.handleNavigation(jakarta.faces.context.FacesContext, java.lang.String, java.lang.String)been called with the same arguments ornullif there is no such case.NavigationCasegetNavigationCase(FacesContext context, String fromAction, String outcome, String toFlowDocumentId)Return theNavigationCaserepresenting the navigation that would be taken hadNavigationHandler.handleNavigation(jakarta.faces.context.FacesContext, java.lang.String, java.lang.String)been called with the same arguments ornullif there is no such case.Map<String,Set<NavigationCase>>getNavigationCases()Return aMap<String, Set<NavigationCase>>where the keys are<from-view-id>values and the values areSet<NavigationCase>where each element in the Set is aNavigationCasethat applies to that<from-view-id>.voidhandleNavigation(FacesContext context, String fromAction, String outcome)Perform navigation processing based on the state information in the specifiedFacesContext, plus the outcome string returned by an executed application action.voidhandleNavigation(FacesContext context, String fromAction, String outcome, String toFlowDocumentId)Overloaded variant ofNavigationHandler.handleNavigation(jakarta.faces.context.FacesContext, java.lang.String, java.lang.String)that allows the caller to provide the defining document id for a flow to be entered by this navigation.voidinspectFlow(FacesContext context, Flow flow)Called by the flow system to cause the flow to be inspected for navigation rules.static booleanisResetFlowHandlerState(FacesContext facesContext)static voidsetResetFlowHandlerStateIfUnset(FacesContext facesContext, boolean resetFlowHandlerState)static voidunsetResetFlowHandlerState(FacesContext facesContext)-
Methods inherited from class jakarta.faces.application.ConfigurableNavigationHandler
performNavigation
-
-
-
-
Method Detail
-
isResetFlowHandlerState
public static boolean isResetFlowHandlerState(FacesContext facesContext)
-
setResetFlowHandlerStateIfUnset
public static void setResetFlowHandlerStateIfUnset(FacesContext facesContext, boolean resetFlowHandlerState)
-
unsetResetFlowHandlerState
public static void unsetResetFlowHandlerState(FacesContext facesContext)
-
getNavigationCase
public NavigationCase getNavigationCase(FacesContext context, String fromAction, String outcome)
Description copied from class:ConfigurableNavigationHandlerReturn the
NavigationCaserepresenting the navigation that would be taken hadNavigationHandler.handleNavigation(jakarta.faces.context.FacesContext, java.lang.String, java.lang.String)been called with the same arguments ornullif there is no such case.- Specified by:
getNavigationCasein classConfigurableNavigationHandler- Parameters:
context- TheFacesContextfor the current requestfromAction- The action binding expression that was evaluated to retrieve the specified outcome, ornullif the outcome was acquired by some other meansoutcome- The logical outcome returned by a previous invoked application action (which may benull)- Returns:
- the navigation case, or
null. - See Also:
ConfigurableNavigationHandler.getNavigationCase(jakarta.faces.context.FacesContext, String, String)
-
getNavigationCase
public NavigationCase getNavigationCase(FacesContext context, String fromAction, String outcome, String toFlowDocumentId)
Description copied from class:ConfigurableNavigationHandlerReturn the
NavigationCaserepresenting the navigation that would be taken hadNavigationHandler.handleNavigation(jakarta.faces.context.FacesContext, java.lang.String, java.lang.String)been called with the same arguments ornullif 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 toConfigurableNavigationHandler.getNavigationCase(jakarta.faces.context.FacesContext, java.lang.String, java.lang.String), ignoring thetoFlowDocumentIdparameter.- Overrides:
getNavigationCasein classConfigurableNavigationHandler- Parameters:
context- TheFacesContextfor the current requestfromAction- The action binding expression that was evaluated to retrieve the specified outcome, ornullif 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 thetoFlowDocumentIdproperty for the navigation case (which may benull)- Returns:
- the navigation case, or
null.
-
getNavigationCases
public Map<String,Set<NavigationCase>> getNavigationCases()
Description copied from class:ConfigurableNavigationHandlerReturn 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 aNavigationCasethat applies to that<from-view-id>. The implementation must support live modifications to thisMap.- Specified by:
getNavigationCasesin classConfigurableNavigationHandler- Returns:
- a map with navigation cases.
- See Also:
ConfigurableNavigationHandler.getNavigationCases()
-
inspectFlow
public void inspectFlow(FacesContext context, Flow flow)
Description copied from class:ConfigurableNavigationHandlerCalled 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:
inspectFlowin classConfigurableNavigationHandler- Parameters:
context- the Faces context.flow- the flow.
-
handleNavigation
public void handleNavigation(FacesContext context, String fromAction, String outcome)
Description copied from class:NavigationHandlerPerform 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 toConfigurableNavigationHandler.getNavigationCase(jakarta.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 allinvokingPartialViewContext.setRenderAll(boolean)) if the view identifier has changed as the result of an application action (to take into accountAjax requests).- Specified by:
handleNavigationin classNavigationHandler- Parameters:
context- TheFacesContextfor the current requestfromAction- The action binding expression that was evaluated to retrieve the specified outcome, ornullif the outcome was acquired by some other meansoutcome- The logical outcome returned by a previous invoked application action (which may benull)
-
handleNavigation
public void handleNavigation(FacesContext context, String fromAction, String outcome, String toFlowDocumentId)
Description copied from class:NavigationHandlerOverloaded variant of
NavigationHandler.handleNavigation(jakarta.faces.context.FacesContext, java.lang.String, java.lang.String)that allows the caller to provide the defining document id for a flow to be entered by this navigation. For backward compatibility with decoratedNavigationHandlerimplementations that conform to an earlier version of the specification, an implementation is provided that calls through toNavigationHandler.handleNavigation(jakarta.faces.context.FacesContext, java.lang.String, java.lang.String), ignoring thetoFlowDocumentIdparameter.- Overrides:
handleNavigationin classNavigationHandler- Parameters:
context- TheFacesContextfor the current requestfromAction- The action binding expression that was evaluated to retrieve the specified outcome, ornullif the outcome was acquired by some other meansoutcome- The logical outcome returned by a previous invoked application action (which may benull)toFlowDocumentId- The defining document id of the flow into which this navigation will cause entry.
-
-