Class NavigationCase
- Direct Known Subclasses:
NavigationCaseWrapper
NavigationCase represents a <navigation-case>
in
the navigation rule base, as well as the <from-view-id>
with
which this <navigation-case>
is a sibling.
- Since:
- 2.0
-
Constructor Summary
ConstructorDescriptionNavigationCase
(String fromViewId, String fromAction, String fromOutcome, String condition, String toViewId, String toFlowDocumentId, Map<String, List<String>> parameters, boolean redirect, boolean includeViewParams) Construct a newNavigationCase
based on the provided arguments.NavigationCase
(String fromViewId, String fromAction, String fromOutcome, String condition, String toViewId, Map<String, List<String>> parameters, boolean redirect, boolean includeViewParams) Construct a newNavigationCase
based on the provided arguments. -
Method Summary
Modifier and TypeMethodDescriptionboolean
getActionURL
(FacesContext context) Construct an absolute URL to thisNavigationCase
instance usingViewHandler.getActionURL(jakarta.faces.context.FacesContext, java.lang.String)
on the path portion of the url.getBookmarkableURL
(FacesContext context) Construct an absolute URL suitable for a bookmarkable link to thisNavigationCase
instance usingViewHandler.getBookmarkableURL(jakarta.faces.context.FacesContext, java.lang.String, java.util.Map<java.lang.String, java.util.List<java.lang.String>>, boolean)
on the path portion of the url.getCondition
(FacesContext context) Evaluates the<if>
for this<navigation-case>
, if any.Return the<from-action>
for this<navigation-case>
Return the<from-outcome>
for this<navigation-case>
Return the<from-view-id>
of the<navigation-rule>
inside which this<navigation-case>
is nested.Return the parameters to be included for navigation cases requiring a redirect.getRedirectURL
(FacesContext context) Construct an absolute URL suitable for a "redirect" to thisNavigationCase
instance usingViewHandler.getRedirectURL(jakarta.faces.context.FacesContext, java.lang.String, java.util.Map<java.lang.String, java.util.List<java.lang.String>>, boolean)
on the path portion of the url.getResourceURL
(FacesContext context) Construct an absolute URL to thisNavigationCase
instance usingViewHandler.getResourceURL(jakarta.faces.context.FacesContext, java.lang.String)
on the path portion of the url.If this navigation case represents a flow invocation, this property is the documentId in which the flow whose id is given by the return fromgetFromOutcome()
is defined.getToViewId
(FacesContext context) Evaluates the<to-view-id>
for this<navigation-case>
boolean
Test if this navigation case has an associated<if>
element.int
hashCode()
boolean
Return the<redirect>
value for this<navigation-case>
.boolean
Return the<redirect>
value for this<navigation-case>
.toString()
-
Constructor Details
-
NavigationCase
public NavigationCase(String fromViewId, String fromAction, String fromOutcome, String condition, String toViewId, Map<String, List<String>> parameters, boolean redirect, boolean includeViewParams) Construct a new
NavigationCase
based on the provided arguments. See section 7.4.2 in the Jakarta Faces spec for how aNavigationCase
is used by the standardConfigurableNavigationHandler
- Parameters:
fromViewId
- return fromgetFromViewId()
fromAction
- return fromgetFromAction()
fromOutcome
- return fromgetFromOutcome()
condition
- A string to be interpreted as aValueExpression
by a call togetCondition(jakarta.faces.context.FacesContext)
toViewId
- return fromgetToViewId(jakarta.faces.context.FacesContext)
parameters
- return fromgetParameters()
redirect
- return fromisRedirect()
includeViewParams
- returnisIncludeViewParams()
-
NavigationCase
public NavigationCase(String fromViewId, String fromAction, String fromOutcome, String condition, String toViewId, String toFlowDocumentId, Map<String, List<String>> parameters, boolean redirect, boolean includeViewParams) Construct a new
NavigationCase
based on the provided arguments. See section 7.4.2 of the spec prose document for how aNavigationCase
is used by the standardConfigurableNavigationHandler
- Parameters:
fromViewId
- return fromgetFromViewId()
fromAction
- return fromgetFromAction()
fromOutcome
- return fromgetFromOutcome()
condition
- A string to be interpreted as aValueExpression
by a call togetCondition(jakarta.faces.context.FacesContext)
toViewId
- return fromgetToViewId(jakarta.faces.context.FacesContext)
toFlowDocumentId
- the toFlow documentId.parameters
- return fromgetParameters()
redirect
- return fromisRedirect()
includeViewParams
- returnisIncludeViewParams()
-
-
Method Details
-
getActionURL
Construct an absolute URL to this
NavigationCase
instance usingViewHandler.getActionURL(jakarta.faces.context.FacesContext, java.lang.String)
on the path portion of the url.- Parameters:
context
- theFacesContext
for the current request- Returns:
- the action URL.
- Throws:
MalformedURLException
- if the process of constructing the URL causes this exception to be thrown.
-
getResourceURL
Construct an absolute URL to this
NavigationCase
instance usingViewHandler.getResourceURL(jakarta.faces.context.FacesContext, java.lang.String)
on the path portion of the url.- Parameters:
context
- theFacesContext
for the current request- Returns:
- the resource URL.
- Throws:
MalformedURLException
- if the process of constructing the URL causes this exception to be thrown.
-
getRedirectURL
Construct an absolute URL suitable for a "redirect" to this
NavigationCase
instance usingViewHandler.getRedirectURL(jakarta.faces.context.FacesContext, java.lang.String, java.util.Map<java.lang.String, java.util.List<java.lang.String>>, boolean)
on the path portion of the url.- Parameters:
context
- theFacesContext
for the current request- Returns:
- the redirect URL.
- Throws:
MalformedURLException
- if the process of constructing the URL causes this exception to be thrown.
-
getBookmarkableURL
Construct an absolute URL suitable for a bookmarkable link to this
NavigationCase
instance usingViewHandler.getBookmarkableURL(jakarta.faces.context.FacesContext, java.lang.String, java.util.Map<java.lang.String, java.util.List<java.lang.String>>, boolean)
on the path portion of the url. This URL may include view parameters specified as metadata within the view.- Parameters:
context
- theFacesContext
for the current request- Returns:
- the bookmarkable URL.
- Throws:
MalformedURLException
- if the process of constructing the URL causes this exception to be thrown.
-
getFromViewId
Return the
<from-view-id>
of the<navigation-rule>
inside which this<navigation-case>
is nested.- Returns:
- the from viedId.
-
getFromAction
Return the
<from-action>
for this<navigation-case>
- Returns:
- the from action.
-
getFromOutcome
Return the
<from-outcome>
for this<navigation-case>
- Returns:
- the from outcome.
-
getToViewId
Evaluates the
<to-view-id>
for this<navigation-case>
- Parameters:
context
- theFacesContext
for the current request- Returns:
- the view ID that should be navigated to
-
getToFlowDocumentId
If this navigation case represents a flow invocation, this property is the documentId in which the flow whose id is given by the return from
getFromOutcome()
is defined. Implementations must override this method to return the value defined in the corresponding application configuration resources element. The base implementation returns the empty string.- Returns:
- the toFlow documentId.
- Since:
- 2.2
-
hasCondition
public boolean hasCondition()Test if this navigation case has an associated
<if>
element.- Returns:
true
if there's an<if>
element associated with this<navigation-case>
, otherwisefalse
-
getCondition
Evaluates the
Note throws any exceptions encountered during the process of evaluating the expression or obtaining its value.<if>
for this<navigation-case>
, if any. The expression to be evaluated is passed into the constructor as a string. When the expression is evaluated, its value must be coerced into aboolean
per the normal Jakarta Expression Language coercion rules.- Parameters:
context
- theFacesContext
for the current request- Returns:
null
if there is no<if>
element associated with this<navigation-case>
, otherwise return the evaluation result of the condition
-
getParameters
Return the parameters to be included for navigation cases requiring a redirect. If no parameters are defined,
null
will be returned. The keys in theMap
are parameter names. For each key, the corresponding value is aList
of unconverted values.- Returns:
- the list of parameters, or
null
-
isRedirect
public boolean isRedirect()Return the
<redirect>
value for this<navigation-case>
. This will betrue
if the new view should be navigated to via aExternalContext.redirect(String)
- Returns:
true
if this is a redirect,false
otherwise.
-
isIncludeViewParams
public boolean isIncludeViewParams()Return the
<redirect>
value for this<navigation-case>
. This will betrue
if the view parametets should be encoded into the redirect URL (only applies to redirect case)- Returns:
true
if view parameters are to be included,false
otherwise.
-
equals
-
hashCode
public int hashCode() -
toString
-