Class 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 currentApplicationAssociate
instance to obtain the navigation mappings used to make navigational decisions. -
Method Summary
Modifier and Type Method Description NavigationCase
getNavigationCase(FacesContext context, String fromAction, String outcome)
Return theNavigationCase
representing the navigation that would be taken hadNavigationHandler.handleNavigation(jakarta.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 theNavigationCase
representing the navigation that would be taken hadNavigationHandler.handleNavigation(jakarta.faces.context.FacesContext, java.lang.String, java.lang.String)
been called with the same arguments ornull
if 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 aNavigationCase
that applies to that<from-view-id>
.void
handleNavigation(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.void
handleNavigation(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.void
inspectFlow(FacesContext context, Flow flow)
Called by the flow system to cause the flow to be inspected for navigation rules.static boolean
isResetFlowHandlerState(FacesContext facesContext)
static void
setResetFlowHandlerStateIfUnset(FacesContext facesContext, boolean resetFlowHandlerState)
static void
unsetResetFlowHandlerState(FacesContext facesContext)
Methods inherited from class jakarta.faces.application.ConfigurableNavigationHandler
performNavigation
-
Constructor Details
-
NavigationHandlerImpl
public NavigationHandlerImpl()This constructor uses the currentApplicationAssociate
instance to obtain the navigation mappings used to make navigational decisions.
-
-
Method Details
-
isResetFlowHandlerState
-
setResetFlowHandlerStateIfUnset
public static void setResetFlowHandlerStateIfUnset(FacesContext facesContext, boolean resetFlowHandlerState) -
unsetResetFlowHandlerState
-
getNavigationCase
Description copied from class:ConfigurableNavigationHandler
Return the
NavigationCase
representing the navigation that would be taken hadNavigationHandler.handleNavigation(jakarta.faces.context.FacesContext, java.lang.String, java.lang.String)
been called with the same arguments ornull
if there is no such case.- Specified by:
getNavigationCase
in classConfigurableNavigationHandler
- 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
)- 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:ConfigurableNavigationHandler
Return the
NavigationCase
representing the navigation that would be taken hadNavigationHandler.handleNavigation(jakarta.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 toConfigurableNavigationHandler.getNavigationCase(jakarta.faces.context.FacesContext, java.lang.String, java.lang.String)
, ignoring thetoFlowDocumentId
parameter.- Overrides:
getNavigationCase
in classConfigurableNavigationHandler
- 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
)- Returns:
- the navigation case, or
null
.
-
getNavigationCases
Description copied from class:ConfigurableNavigationHandler
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
.- Specified by:
getNavigationCases
in classConfigurableNavigationHandler
- Returns:
- a map with navigation cases.
- See Also:
ConfigurableNavigationHandler.getNavigationCases()
-
inspectFlow
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 classConfigurableNavigationHandler
- Parameters:
context
- the Faces context.flow
- the flow.
-
handleNavigation
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 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 all
invokingPartialViewContext.setRenderAll(boolean)
) if the view identifier has changed as the result of an application action (to take into accountAjax requests
).- Specified by:
handleNavigation
in classNavigationHandler
- 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
)
-
handleNavigation
public void handleNavigation(FacesContext context, String fromAction, String outcome, String toFlowDocumentId)Description copied from class:NavigationHandler
Overloaded 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 decoratedNavigationHandler
implementations 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 thetoFlowDocumentId
parameter.- Overrides:
handleNavigation
in classNavigationHandler
- 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 defining document id of the flow into which this navigation will cause entry.
-