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 existing
ConfigurableNavigationHandler
instance. The default implementation of all methods is to call through to the
wrapped ConfigurableNavigationHandler
.
Usage: extend this class and push the implementation being wrapped to the constructor and use getWrapped()
to
access the instance being wrapped.
Constructor and 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. |
Modifier and Type | Method and Description |
---|---|
NavigationCase |
getNavigationCase(FacesContext context,
java.lang.String fromAction,
java.lang.String outcome)
Return the |
NavigationCase |
getNavigationCase(FacesContext context,
java.lang.String fromAction,
java.lang.String outcome,
java.lang.String toFlowDocumentId)
Return the |
java.util.Map<java.lang.String,java.util.Set<NavigationCase>> |
getNavigationCases()
Return a |
ConfigurableNavigationHandler |
getWrapped()
A class that implements this interface uses this method to return an instance of the class being wrapped. |
void |
handleNavigation(FacesContext context,
java.lang.String fromAction,
java.lang.String outcome)
Perform navigation processing based on the state information in the
specified
FacesContext , 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(java.lang.String outcome)
A convenience method to signal the Jakarta Faces implementation to perform navigation with the provided outcome. |
handleNavigation
@Deprecated public 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.
wrapped
- The implementation being wrapped.public ConfigurableNavigationHandler getWrapped()
FacesWrapper
A class that implements this interface uses this method to return an instance of the class being wrapped.
getWrapped
in interface FacesWrapper<ConfigurableNavigationHandler>
public NavigationCase getNavigationCase(FacesContext context, java.lang.String fromAction, java.lang.String outcome)
ConfigurableNavigationHandler
Return the NavigationCase
representing the navigation that would be taken had
NavigationHandler.handleNavigation(jakarta.faces.context.FacesContext, java.lang.String, java.lang.String)
been called with the same arguments or null
if there is no
such case.
getNavigationCase
in class ConfigurableNavigationHandler
context
- The FacesContext
for the current requestfromAction
- The action binding expression that was evaluated to retrieve the specified outcome, or
null
if the outcome was acquired by some other meansoutcome
- The logical outcome returned by a previous invoked application action (which may be null
)null
.public java.util.Map<java.lang.String,java.util.Set<NavigationCase>> getNavigationCases()
ConfigurableNavigationHandler
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
.
getNavigationCases
in class ConfigurableNavigationHandler
public NavigationCase getNavigationCase(FacesContext context, java.lang.String fromAction, java.lang.String outcome, java.lang.String toFlowDocumentId)
ConfigurableNavigationHandler
Return the NavigationCase
representing the navigation that would be taken had
NavigationHandler.handleNavigation(jakarta.faces.context.FacesContext, java.lang.String, java.lang.String)
been called with the same arguments or null
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 to
ConfigurableNavigationHandler.getNavigationCase(jakarta.faces.context.FacesContext, java.lang.String, java.lang.String)
, ignoring the
toFlowDocumentId
parameter.
getNavigationCase
in class ConfigurableNavigationHandler
context
- The FacesContext
for the current requestfromAction
- The action binding expression that was evaluated to retrieve the specified outcome, or
null
if the outcome was acquired by some other meansoutcome
- The logical outcome returned by a previous invoked application action (which may be null
)toFlowDocumentId
- The value of the toFlowDocumentId
property for the navigation case (which may be
null
)null
.public void handleNavigation(FacesContext context, java.lang.String fromAction, java.lang.String outcome)
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 to ConfigurableNavigationHandler.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
invoking
PartialViewContext.setRenderAll(boolean)
) if the view identifier has changed as the result of an
application action (to take into account Ajax requests
).
handleNavigation
in class NavigationHandler
context
- The FacesContext
for the current requestfromAction
- The action binding expression that was evaluated to retrieve the specified outcome, or
null
if the outcome was acquired by some other meansoutcome
- The logical outcome returned by a previous invoked application action (which may be null
)public void performNavigation(java.lang.String outcome)
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.
performNavigation
in class ConfigurableNavigationHandler
outcome
- the provided outcome.public void inspectFlow(FacesContext context, Flow flow)
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.
inspectFlow
in class ConfigurableNavigationHandler
context
- the Faces context.flow
- the flow.