Class NavigationCase
- java.lang.Object
-
- jakarta.faces.application.NavigationCase
-
- Direct Known Subclasses:
NavigationCaseWrapper
public class NavigationCase extends Object
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
Constructors Constructor Description NavigationCase(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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(Object o)
URL
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.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.Boolean
getCondition(FacesContext context)
Evaluates the<if>
for this<navigation-case>
, if any.String
getFromAction()
Return the<from-action>
for this<navigation-case>
String
getFromOutcome()
Return the<from-outcome>
for this<navigation-case>
String
getFromViewId()
Return the<from-view-id>
of the<navigation-rule>
inside which this<navigation-case>
is nested.Map<String,List<String>>
getParameters()
Return the parameters to be included for navigation cases requiring a redirect.URL
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.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.String
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 fromgetFromOutcome()
is defined.String
getToViewId(FacesContext context)
Evaluates the<to-view-id>
for this<navigation-case>
boolean
hasCondition()
Test if this navigation case has an associated<if>
element.int
hashCode()
boolean
isIncludeViewParams()
Return the<redirect>
value for this<navigation-case>
.boolean
isRedirect()
Return the<redirect>
value for this<navigation-case>
.String
toString()
-
-
-
Constructor Detail
-
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 "Default NavigationHandler Algorithm" of the Jakarta Faces Specification 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)
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 "Default NavigationHandler Algorithm" of the Jakarta Faces Specification 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 Detail
-
getActionURL
public URL getActionURL(FacesContext context) throws MalformedURLException
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
public URL getResourceURL(FacesContext context) throws MalformedURLException
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
public URL getRedirectURL(FacesContext context) throws MalformedURLException
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
public URL getBookmarkableURL(FacesContext context) throws MalformedURLException
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
public String getFromViewId()
Return the
<from-view-id>
of the<navigation-rule>
inside which this<navigation-case>
is nested.- Returns:
- the from viedId.
-
getFromAction
public String getFromAction()
Return the
<from-action>
for this<navigation-case>
- Returns:
- the from action.
-
getFromOutcome
public String getFromOutcome()
Return the
<from-outcome>
for this<navigation-case>
- Returns:
- the from outcome.
-
getToViewId
public String getToViewId(FacesContext context)
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
public String 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
public Boolean getCondition(FacesContext context)
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
public Map<String,List<String>> 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.
-
-