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 newNavigationCasebased 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 newNavigationCasebased on the provided arguments.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanequals(Object o)URLgetActionURL(FacesContext context)Construct an absolute URL to thisNavigationCaseinstance usingViewHandler.getActionURL(jakarta.faces.context.FacesContext, java.lang.String)on the path portion of the url.URLgetBookmarkableURL(FacesContext context)Construct an absolute URL suitable for a bookmarkable link to thisNavigationCaseinstance 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.BooleangetCondition(FacesContext context)Evaluates the<if>for this<navigation-case>, if any.StringgetFromAction()Return the<from-action>for this<navigation-case>StringgetFromOutcome()Return the<from-outcome>for this<navigation-case>StringgetFromViewId()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.URLgetRedirectURL(FacesContext context)Construct an absolute URL suitable for a "redirect" to thisNavigationCaseinstance 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.URLgetResourceURL(FacesContext context)Construct an absolute URL to thisNavigationCaseinstance usingViewHandler.getResourceURL(jakarta.faces.context.FacesContext, java.lang.String)on the path portion of the url.StringgetToFlowDocumentId()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.StringgetToViewId(FacesContext context)Evaluates the<to-view-id>for this<navigation-case>booleanhasCondition()Test if this navigation case has an associated<if>element.inthashCode()booleanisIncludeViewParams()Return the<redirect>value for this<navigation-case>.booleanisRedirect()Return the<redirect>value for this<navigation-case>.StringtoString()
-
-
-
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
NavigationCasebased on the provided arguments. See section 7.4.2 "Default NavigationHandler Algorithm" of the Jakarta Faces Specification Document for how aNavigationCaseis used by the standardConfigurableNavigationHandler- Parameters:
fromViewId- return fromgetFromViewId()fromAction- return fromgetFromAction()fromOutcome- return fromgetFromOutcome()condition- A string to be interpreted as aValueExpressionby 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
NavigationCasebased on the provided arguments. See section 7.4.2 "Default NavigationHandler Algorithm" of the Jakarta Faces Specification Document for how aNavigationCaseis used by the standardConfigurableNavigationHandler- Parameters:
fromViewId- return fromgetFromViewId()fromAction- return fromgetFromAction()fromOutcome- return fromgetFromOutcome()condition- A string to be interpreted as aValueExpressionby 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
NavigationCaseinstance usingViewHandler.getActionURL(jakarta.faces.context.FacesContext, java.lang.String)on the path portion of the url.- Parameters:
context- theFacesContextfor 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
NavigationCaseinstance usingViewHandler.getResourceURL(jakarta.faces.context.FacesContext, java.lang.String)on the path portion of the url.- Parameters:
context- theFacesContextfor 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
NavigationCaseinstance 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- theFacesContextfor 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
NavigationCaseinstance 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- theFacesContextfor 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- theFacesContextfor 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:
trueif 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 abooleanper the normal Jakarta Expression Language coercion rules.- Parameters:
context- theFacesContextfor the current request- Returns:
nullif 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,
nullwill be returned. The keys in theMapare parameter names. For each key, the corresponding value is aListof unconverted values.- Returns:
- the list of parameters, or
null
-
isRedirect
public boolean isRedirect()
Return the
<redirect>value for this<navigation-case>. This will betrueif the new view should be navigated to via aExternalContext.redirect(String)- Returns:
trueif this is a redirect,falseotherwise.
-
isIncludeViewParams
public boolean isIncludeViewParams()
Return the
<redirect>value for this<navigation-case>. This will betrueif the view parametets should be encoded into the redirect URL (only applies to redirect case)- Returns:
trueif view parameters are to be included,falseotherwise.
-
-