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 override getWrapped()
to
return the instance we are wrapping.
Constructor and Description |
---|
ConfigurableNavigationHandlerWrapper() |
Modifier and Type | Method and Description |
---|---|
NavigationCase |
getNavigationCase(FacesContext context,
String fromAction,
String outcome)
Return the |
NavigationCase |
getNavigationCase(FacesContext context,
String fromAction,
String outcome,
String toFlowDocumentId)
Return the |
Map<String,Set<NavigationCase>> |
getNavigationCases()
Return a |
abstract 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 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(String outcome)
A convenience method to signal the JavaServer Faces implementation to perform navigation with the provided outcome. |
handleNavigation
public ConfigurableNavigationHandlerWrapper()
public abstract 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, String fromAction, String outcome)
ConfigurableNavigationHandler
Return the NavigationCase
representing the navigation that would be taken had NavigationHandler.handleNavigation(javax.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
)public Map<String,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, String fromAction, String outcome, String toFlowDocumentId)
ConfigurableNavigationHandler
Return the NavigationCase
representing the navigation that would be taken had NavigationHandler.handleNavigation(javax.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(javax.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
)public void handleNavigation(FacesContext context, String fromAction, 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(javax.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(String outcome)
ConfigurableNavigationHandler
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.
performNavigation
in class ConfigurableNavigationHandler
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
Copyright © 1996-2013, Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms.