javax.faces.application
Class NavigationCase

java.lang.Object
  extended by javax.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
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.

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.

 
Method Summary
 boolean equals(Object o)
           
 URL getActionURL(FacesContext context)
          

Construct an absolute URL to this NavigationCase instance using ViewHandler.getActionURL(javax.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 this NavigationCase instance using ViewHandler.getBookmarkableURL(javax.faces.context.FacesContext, java.lang.String, java.util.Map>, 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 this NavigationCase instance using ViewHandler.getRedirectURL(javax.faces.context.FacesContext, java.lang.String, java.util.Map>, boolean) on the path portion of the url.

 URL getResourceURL(FacesContext context)
          

Construct an absolute URL to this NavigationCase instance using ViewHandler.getResourceURL(javax.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 from getFromOutcome() 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()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

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 JSF.7.4.2 for how a NavigationCase is used by the standard ConfigurableNavigationHandler

Parameters:
fromViewId - return from getFromViewId()
fromAction - return from getFromAction()
fromOutcome - return from getFromOutcome()
condition - A string to be interpreted as a ValueExpression by a call to getCondition(javax.faces.context.FacesContext)
toViewId - return from getToViewId(javax.faces.context.FacesContext)
parameters - return from getParameters()
redirect - return from isRedirect()
includeViewParams - return isIncludeViewParams()

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 JSF.7.4.2 for how a NavigationCase is used by the standard ConfigurableNavigationHandler

Parameters:
fromViewId - return from getFromViewId()
fromAction - return from getFromAction()
fromOutcome - return from getFromOutcome()
condition - A string to be interpreted as a ValueExpression by a call to getCondition(javax.faces.context.FacesContext)
toViewId - return from getToViewId(javax.faces.context.FacesContext)
parameters - return from getParameters()
redirect - return from isRedirect()
includeViewParams - return isIncludeViewParams()
Method Detail

getActionURL

public URL getActionURL(FacesContext context)
                 throws MalformedURLException

Construct an absolute URL to this NavigationCase instance using ViewHandler.getActionURL(javax.faces.context.FacesContext, java.lang.String) on the path portion of the url.

Parameters:
context - the FacesContext for the current request
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 using ViewHandler.getResourceURL(javax.faces.context.FacesContext, java.lang.String) on the path portion of the url.

Parameters:
context - the FacesContext for the current request
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 using ViewHandler.getRedirectURL(javax.faces.context.FacesContext, java.lang.String, java.util.Map>, boolean) on the path portion of the url.

Parameters:
context - the FacesContext for the current request
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 using ViewHandler.getBookmarkableURL(javax.faces.context.FacesContext, java.lang.String, java.util.Map>, boolean) on the path portion of the url. This URL may include view parameters specified as metadata within the view.

Parameters:
context - the FacesContext for the current request
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.


getFromAction

public String getFromAction()

Return the <from-action> for this <navigation-case>


getFromOutcome

public String getFromOutcome()

Return the <from-outcome> for this <navigation-case>


getToViewId

public String getToViewId(FacesContext context)

Evaluates the <to-view-id> for this <navigation-case>

Parameters:
context - the FacesContext 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.

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>, otherwise false

getCondition

public Boolean getCondition(FacesContext context)

Evaluates the <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 a boolean per the normal EL coercion rules.

Parameters:
context - the FacesContext 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
Throws:
any - exceptions encountered during the process of evaluating the expression or obtaining its value.

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 the Map are parameter names. For each key, the corresponding value is a List of unconverted values.


isRedirect

public boolean isRedirect()

Return the <redirect> value for this <navigation-case>. This will be true if the new view should be navigated to via a ExternalContext.redirect(String)


isIncludeViewParams

public boolean isIncludeViewParams()

Return the <redirect> value for this <navigation-case>. This will be true if the view parametets should be encoded into the redirect URL (only applies to redirect case)


equals

public boolean equals(Object o)
Overrides:
equals in class Object

hashCode

public int hashCode()
Overrides:
hashCode in class Object

toString

public String toString()
Overrides:
toString in class Object


Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms