Class ConfigurableNavigationHandlerWrapper
- java.lang.Object
-
- jakarta.faces.application.NavigationHandler
-
- jakarta.faces.application.ConfigurableNavigationHandler
-
- jakarta.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 existingConfigurableNavigationHandler
instance. The default implementation of all methods is to call through to the wrappedConfigurableNavigationHandler
.Usage: extend this class and push the implementation being wrapped to the constructor and use
getWrapped()
to access the instance being wrapped.- Since:
- 2.2
-
-
Constructor Summary
Constructors Constructor Description ConfigurableNavigationHandlerWrapper()
Deprecated.Use the other constructor taking the implementation being wrapped.ConfigurableNavigationHandlerWrapper(ConfigurableNavigationHandler wrapped)
If this configurable navigation handler has been decorated, the implementation doing the decorating should push the implementation being wrapped to this constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods 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>
.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 specifiedFacesContext
, 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 Jakarta Faces implementation to perform navigation with the provided outcome.-
Methods inherited from class jakarta.faces.application.NavigationHandler
handleNavigation
-
-
-
-
Constructor Detail
-
ConfigurableNavigationHandlerWrapper
@Deprecated public ConfigurableNavigationHandlerWrapper()
Deprecated.Use the other constructor taking the implementation being wrapped.
-
ConfigurableNavigationHandlerWrapper
public ConfigurableNavigationHandlerWrapper(ConfigurableNavigationHandler wrapped)
If this configurable navigation handler has been decorated, the implementation doing the decorating should push the implementation being wrapped to this constructor. The
getWrapped()
will then return the implementation being wrapped.- Parameters:
wrapped
- The implementation being wrapped.- Since:
- 2.3
-
-
Method Detail
-
getWrapped
public 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 interfaceFacesWrapper<ConfigurableNavigationHandler>
- Returns:
- the wrapped instance.
-
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 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
.
-
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 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.
-
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
.
-
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 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
)
-
performNavigation
public void performNavigation(String outcome)
Description copied from class:ConfigurableNavigationHandler
A convenience method to signal the Jakarta 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 classConfigurableNavigationHandler
- Parameters:
outcome
- the provided outcome.
-
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 classConfigurableNavigationHandler
- Parameters:
context
- the Faces context.flow
- the flow.
-
-