Top Description Constructors Methods
jakarta.faces.application

public abstract Class ConfigurableNavigationHandler

extends NavigationHandler
Class Inheritance
Known Direct Subclasses
jakarta.faces.application.ConfigurableNavigationHandlerWrapper, com.sun.faces.application.NavigationHandlerImpl
Imports
java.util.Map, .Set, jakarta.faces.context.FacesContext, jakarta.faces.flow.Flow

ConfigurableNavigationHandler extends the contract of NavigationHandler to allow runtime inspection of the NavigationCases that make up the rule-base for navigation. An implementation compliant with the version of the specification in which this class was introduced (or a later version) must make it so that its NavigationHandler is an extension of this class.

Since
2.0

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public abstract NavigationCase

Returns:

the navigation case, or null.
getNavigationCase
(FacesContext
The FacesContext for the current request
context
,
String
The action binding expression that was evaluated to retrieve the specified outcome, or null if the outcome was acquired by some other means
fromAction
,
String
The logical outcome returned by a previous invoked application action (which may be null)
outcome
)

Return the NavigationCase representing the navigation that would be taken had NavigationHandler#handleNavigation been called with the same arguments or null if there is no such case.

public NavigationCase

Returns:

the navigation case, or null.
getNavigationCase
(FacesContext
The FacesContext for the current request
context
,
String
The action binding expression that was evaluated to retrieve the specified outcome, or null if the outcome was acquired by some other means
fromAction
,
String
The logical outcome returned by a previous invoked application action (which may be null)
outcome
,
String
The value of the toFlowDocumentId property for the navigation case (which may be null)
toFlowDocumentId
)

Return the NavigationCase representing the navigation that would be taken had NavigationHandler#handleNavigation been called with the same arguments or null if there is no such case.

public abstract Map<String, Set<NavigationCase>>

Returns:

a map with navigation cases.
getNavigationCases
()

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>.

public void
inspectFlow(FacesContext
the Faces context.
context
,
Flow
the flow.
flow
)

Called by the flow system to cause the flow to be inspected for navigation rules.

public void
performNavigation(String
the provided outcome.
outcome
)

A convenience method to signal the Jakarta Faces implementation to perform navigation with the provided outcome.

Inherited from jakarta.faces.application.NavigationHandler:
handleNavigationhandleNavigation

Constructor Detail

ConfigurableNavigationHandlerback to summary
public ConfigurableNavigationHandler()

Method Detail

getNavigationCaseback to summary
public abstract NavigationCase getNavigationCase(FacesContext context, String fromAction, String outcome)

Return the NavigationCase representing the navigation that would be taken had NavigationHandler#handleNavigation been called with the same arguments or null if there is no such case.

Parameters
context:FacesContext

The FacesContext for the current request

fromAction:String

The action binding expression that was evaluated to retrieve the specified outcome, or null if the outcome was acquired by some other means

outcome:String

The logical outcome returned by a previous invoked application action (which may be null)

Returns:NavigationCase

the navigation case, or null.

Exceptions
NullPointerException:
if context is null
Since
2.0
getNavigationCaseback to summary
public NavigationCase getNavigationCase(FacesContext context, String fromAction, String outcome, String toFlowDocumentId)

Return the NavigationCase representing the navigation that would be taken had NavigationHandler#handleNavigation 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 getNavigationCase(jakarta.faces.context.FacesContext, java.lang.String, java.lang.String), ignoring the toFlowDocumentId parameter.

Parameters
context:FacesContext

The FacesContext for the current request

fromAction:String

The action binding expression that was evaluated to retrieve the specified outcome, or null if the outcome was acquired by some other means

outcome:String

The logical outcome returned by a previous invoked application action (which may be null)

toFlowDocumentId:String

The value of the toFlowDocumentId property for the navigation case (which may be null)

Returns:NavigationCase

the navigation case, or null.

Exceptions
NullPointerException:
if context is null
Since
2.2
getNavigationCasesback to summary
public abstract Map<String, Set<NavigationCase>> getNavigationCases()

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.

Returns:Map<String, Set<NavigationCase>>

a map with navigation cases.

Since
2.0
inspectFlowback to summary
public void inspectFlow(FacesContext context, Flow flow)

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.

Parameters
context:FacesContext

the Faces context.

flow:Flow

the flow.

Since
2.2
performNavigationback to summary
public void performNavigation(String outcome)

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.

Parameters
outcome:String

the provided outcome.

Exceptions
IllegalStateException:
if this method is called after this instance has been released