| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> |
| <!-- NewPage --> |
| <html lang="en"> |
| <head> |
| <title>FlowHandler</title> |
| <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style"> |
| <script type="text/javascript" src="../../../script.js"></script> |
| |
| <link rel="shortcut icon" href="/img/jakarta-favicon.ico"> |
| </head> |
| <body> |
| <script type="text/javascript"><!-- |
| try { |
| if (location.href.indexOf('is-external=true') == -1) { |
| parent.document.title="FlowHandler"; |
| } |
| } |
| catch(err) { |
| } |
| //--> |
| var methods = {"i0":6,"i1":6,"i2":10,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6}; |
| var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]}; |
| var altColor = "altColor"; |
| var rowColor = "rowColor"; |
| var tableTab = "tableTab"; |
| var activeTableTab = "activeTableTab"; |
| </script> |
| <noscript> |
| <div>JavaScript is disabled on your browser.</div> |
| </noscript> |
| <!-- ========= START OF TOP NAVBAR ======= --> |
| <div class="topNav"><a name="navbar.top"> |
| <!-- --> |
| </a> |
| <div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div> |
| <a name="navbar.top.firstrow"> |
| <!-- --> |
| </a> |
| <ul class="navList" title="Navigation"> |
| <li><a href="../../../overview-summary.html">Overview</a></li> |
| <li><a href="package-summary.html">Package</a></li> |
| <li class="navBarCell1Rev">Class</li> |
| <li><a href="package-tree.html">Tree</a></li> |
| <li><a href="../../../deprecated-list.html">Deprecated</a></li> |
| <li><a href="../../../index-all.html">Index</a></li> |
| <li><a href="../../../help-doc.html">Help</a></li> |
| </ul> |
| </div> |
| <div class="subNav"> |
| <ul class="navList"> |
| <li><a href="../../../jakarta/faces/flow/FlowCallNode.html" title="class in jakarta.faces.flow"><span class="typeNameLink">Prev Class</span></a></li> |
| <li><a href="../../../jakarta/faces/flow/FlowHandlerFactory.html" title="class in jakarta.faces.flow"><span class="typeNameLink">Next Class</span></a></li> |
| </ul> |
| <ul class="navList"> |
| <li><a href="../../../index.html?jakarta/faces/flow/FlowHandler.html" target="_top">Frames</a></li> |
| <li><a href="FlowHandler.html" target="_top">No Frames</a></li> |
| </ul> |
| <ul class="navList" id="allclasses_navbar_top"> |
| <li><a href="../../../allclasses-noframe.html">All Classes</a></li> |
| </ul> |
| <div> |
| <script type="text/javascript"><!-- |
| allClassesLink = document.getElementById("allclasses_navbar_top"); |
| if(window==top) { |
| allClassesLink.style.display = "block"; |
| } |
| else { |
| allClassesLink.style.display = "none"; |
| } |
| //--> |
| </script> |
| </div> |
| <div> |
| <ul class="subNavList"> |
| <li>Summary: </li> |
| <li>Nested | </li> |
| <li><a href="#field.summary">Field</a> | </li> |
| <li><a href="#constructor.summary">Constr</a> | </li> |
| <li><a href="#method.summary">Method</a></li> |
| </ul> |
| <ul class="subNavList"> |
| <li>Detail: </li> |
| <li><a href="#field.detail">Field</a> | </li> |
| <li><a href="#constructor.detail">Constr</a> | </li> |
| <li><a href="#method.detail">Method</a></li> |
| </ul> |
| </div> |
| <a name="skip.navbar.top"> |
| <!-- --> |
| </a></div> |
| <!-- ========= END OF TOP NAVBAR ========= --> |
| <!-- ======== START OF CLASS DATA ======== --> |
| <div class="header"> |
| <div class="subTitle">jakarta.faces.flow</div> |
| <h2 title="Class FlowHandler" class="title">Class FlowHandler</h2> |
| </div> |
| <div class="contentContainer"> |
| <ul class="inheritance"> |
| <li>java.lang.Object</li> |
| <li> |
| <ul class="inheritance"> |
| <li>jakarta.faces.flow.FlowHandler</li> |
| </ul> |
| </li> |
| </ul> |
| <div class="description"> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <hr> |
| <br> |
| <pre>public abstract class <span class="typeNameLabel">FlowHandler</span> |
| extends java.lang.Object</pre> |
| <div class="block"><p class="changed_added_2_2"> |
| <strong class="changed_modified_2_3">FlowHandler</strong> is the main entry point that enables the runtime to |
| interact with the faces flows feature. <a href="../../../jakarta/faces/application/NavigationHandler.html" title="class in jakarta.faces.application"><code>NavigationHandler</code></a> uses this class when it |
| needs to make navigational decisions related to flows. The faces flow feature entirely depends on the |
| <a href="../../../jakarta/faces/lifecycle/ClientWindow.html" title="class in jakarta.faces.lifecycle"><code>ClientWindow</code></a> feature and also on CDI. |
| </p> |
| |
| <div class="changed_added_2_2"> |
| |
| <p> |
| <strong>Defining Flows</strong> |
| </p> |
| |
| <p> |
| The implementation must support defining faces flows using the <code><flow-definition></code> element as |
| specified in the Application Configuration Resources XML Schema Definition, or by using the |
| <a href="../../../jakarta/faces/flow/builder/FlowBuilder.html" title="class in jakarta.faces.flow.builder"><code>FlowBuilder</code></a> API. Additional means of defining flows may be provided by decorating |
| the <a href="../../../jakarta/faces/flow/FlowHandlerFactory.html" title="class in jakarta.faces.flow"><code>FlowHandlerFactory</code></a>. |
| </p> |
| |
| <p> |
| <strong>Managing Flows</strong> |
| </p> |
| |
| <blockquote> |
| |
| <p> |
| The singleton instance of this class must be thread safe, and therefore must not store any per-user state. Flows are, |
| however, traversed in a per-user manner, and must be associated with the current |
| <a href="../../../jakarta/faces/lifecycle/ClientWindow.html" title="class in jakarta.faces.lifecycle"><code>ClientWindow</code></a>. Furthermore, Flows may be nested. These requirements strongly suggest |
| managing the flows with a stack-like runtime data structure, stored in a per-user fashion and associated with the |
| <code>ClientWindow</code>. <span class="changed_added_2_3">Because Flow instances are immutable, yet the flow stack is |
| per-user, implementations must make allowance for flow scoped data (managed beans declared to be <a href="../../../jakarta/faces/flow/FlowScoped.html" title="annotation in jakarta.faces.flow"><code>FlowScoped</code></a> |
| and data stored in the <code>Map</code> returned by <a href="../../../jakarta/faces/flow/FlowHandler.html#getCurrentFlowScope--"><code>getCurrentFlowScope()</code></a>) to be fully re-entrant. For |
| example, consider an application with two flows, A and B, each with a single <code>FlowScoped</code> bean |
| <code>MyBeanA</code> and <code>MyBeanB</code>, respectively. Entry into flow A causes <code>MyBeanA</code> to become |
| active. Calling from A into B causes <code>MyBeanB</code> to become active. Calling back into A causes a new instance |
| of <code>MyBeanA</code> to become active, rather than reactivating the earlier instance of <code>MyBeanA</code>. |
| </span> |
| </p> |
| |
| <p> |
| <strong>The Flow Graph</strong> |
| </p> |
| |
| <p> |
| Prior versions of the specification defined a flow graph but the only kind of node in the graph was a VDL view. The |
| Faces Flow feature currently defines the following node types. |
| </p> |
| |
| <ul> |
| |
| <li> |
| <p> |
| View |
| </p> |
| |
| <p> |
| This is the regular Jakarta Server Faces VDL View that has been in the specification since the beginning. |
| </p> |
| |
| </li> |
| |
| <li> |
| <p> |
| Switch |
| </p> |
| |
| <p> |
| This is a list of Jakarta Expression Language expressions. When control is passed to a switch node, each expression |
| in the list is evaluated and the first one that returns <code>true</code> is used to define the id of the next node to |
| which control must be passed. If none of the expressions evaluates to <code>true</code>, control passes to the specified |
| default id. |
| </p> |
| |
| </li> |
| |
| <li> |
| <p> |
| Return |
| </p> |
| |
| <p> |
| This node type specifies an outcome that is returned to the calling flow. |
| </p> |
| |
| </li> |
| |
| <li> |
| <p> |
| Method Call |
| </p> |
| |
| <p> |
| This node type allows invocation of arbitrary application logic at any point in the executiong of the flow. An |
| outcome can be specified that will cause a navigation case to be navigated to after the method has been invoked. |
| </p> |
| |
| </li> |
| |
| <li> |
| <p> |
| Faces Flow Call |
| </p> |
| |
| <p> |
| This node type allows one flow to call another flow. The calling flow remains active and is not exited until control |
| returns from the called flow. |
| </p> |
| |
| </li> |
| |
| </ul> |
| |
| <p> |
| Edges in the graph are defined by the existing Jakarta Server Faces navigation rule system. |
| </p> |
| |
| <p> |
| <strong>Flows and Model Objects</strong> |
| </p> |
| |
| <blockquote> |
| |
| <p> |
| Managed beans annotated with the CDI annotation <a href="../../../jakarta/faces/flow/FlowScoped.html" title="annotation in jakarta.faces.flow"><code>FlowScoped</code></a> <span class="changed_added_2_3">are created |
| lazily, when referenced, after</span> a user agent's entry into the named scope, and must be made available for |
| garbage collection when the user agent leaves the flow. |
| </p> |
| |
| <p> |
| The <code>flowScope</code> Jakarta Expression Language implicit object is also available to store values in the |
| "current" slope. Values stored in this scope must be made available for garbage collection when the user agent leaves |
| the flow. |
| </p> |
| </blockquote> |
| |
| </blockquote> |
| |
| </div></div> |
| <dl> |
| <dt><span class="simpleTagLabel">Since:</span></dt> |
| <dd>2.2</dd> |
| </dl> |
| </li> |
| </ul> |
| </div> |
| <div class="summary"> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <!-- =========== FIELD SUMMARY =========== --> |
| <ul class="blockList"> |
| <li class="blockList"><a name="field.summary"> |
| <!-- --> |
| </a> |
| <h3>Field Summary</h3> |
| <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation"> |
| <caption><span>Fields</span><span class="tabEnd"> </span></caption> |
| <tr> |
| <th class="colFirst" scope="col">Modifier and Type</th> |
| <th class="colLast" scope="col">Field and Description</th> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>static java.lang.String</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/faces/flow/FlowHandler.html#FLOW_ID_REQUEST_PARAM_NAME">FLOW_ID_REQUEST_PARAM_NAME</a></span></code> |
| <div class="block"><p class="changed_added_2_2"> |
| Components that are rendered by <code>Renderers</code> of component-family <code>jakarta.faces.OutcomeTarget</code> |
| must use this constant as the parameter name for a parameter representing the flow id of the flow that this component |
| will cause to be entered.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><code>static java.lang.String</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/faces/flow/FlowHandler.html#NULL_FLOW">NULL_FLOW</a></span></code> |
| <div class="block"><p class="changed_added_2_2"> |
| Components that are rendered by <code>Renderers</code> of component-family <code>jakarta.faces.OutcomeTarget</code> |
| must use this constant as the value of the parameter named by <a href="../../../jakarta/faces/flow/FlowHandler.html#TO_FLOW_DOCUMENT_ID_REQUEST_PARAM_NAME"><code>TO_FLOW_DOCUMENT_ID_REQUEST_PARAM_NAME</code></a> when |
| returning from a flow (without entering another flow) using such a component.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><code>static java.lang.String</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/faces/flow/FlowHandler.html#TO_FLOW_DOCUMENT_ID_REQUEST_PARAM_NAME">TO_FLOW_DOCUMENT_ID_REQUEST_PARAM_NAME</a></span></code> |
| <div class="block"><p class="changed_added_2_2"> |
| Components that are rendered by <code>Renderers</code> of component-family <code>jakarta.faces.OutcomeTarget</code> |
| must use this constant as the parameter name for a parameter representing the defining document id of the flow that |
| this component will cause to be entered.</div> |
| </td> |
| </tr> |
| </table> |
| </li> |
| </ul> |
| <!-- ======== CONSTRUCTOR SUMMARY ======== --> |
| <ul class="blockList"> |
| <li class="blockList"><a name="constructor.summary"> |
| <!-- --> |
| </a> |
| <h3>Constructor Summary</h3> |
| <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation"> |
| <caption><span>Constructors</span><span class="tabEnd"> </span></caption> |
| <tr> |
| <th class="colOne" scope="col">Constructor and Description</th> |
| </tr> |
| <tr class="altColor"> |
| <td class="colOne"><code><span class="memberNameLink"><a href="../../../jakarta/faces/flow/FlowHandler.html#FlowHandler--">FlowHandler</a></span>()</code> </td> |
| </tr> |
| </table> |
| </li> |
| </ul> |
| <!-- ========== METHOD SUMMARY =========== --> |
| <ul class="blockList"> |
| <li class="blockList"><a name="method.summary"> |
| <!-- --> |
| </a> |
| <h3>Method Summary</h3> |
| <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation"> |
| <caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd"> </span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd"> </span></span></caption> |
| <tr> |
| <th class="colFirst" scope="col">Modifier and Type</th> |
| <th class="colLast" scope="col">Method and Description</th> |
| </tr> |
| <tr id="i0" class="altColor"> |
| <td class="colFirst"><code>abstract void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/faces/flow/FlowHandler.html#addFlow-jakarta.faces.context.FacesContext-jakarta.faces.flow.Flow-">addFlow</a></span>(<a href="../../../jakarta/faces/context/FacesContext.html" title="class in jakarta.faces.context">FacesContext</a> context, |
| <a href="../../../jakarta/faces/flow/Flow.html" title="class in jakarta.faces.flow">Flow</a> toAdd)</code> |
| <div class="block"><p class="changed_added_2_2"> |
| Add the argument <a href="../../../jakarta/faces/flow/Flow.html" title="class in jakarta.faces.flow"><code>Flow</code></a> to the collection of <code>Flow</code>s known to the current application.</div> |
| </td> |
| </tr> |
| <tr id="i1" class="rowColor"> |
| <td class="colFirst"><code>abstract void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/faces/flow/FlowHandler.html#clientWindowTransition-jakarta.faces.context.FacesContext-">clientWindowTransition</a></span>(<a href="../../../jakarta/faces/context/FacesContext.html" title="class in jakarta.faces.context">FacesContext</a> context)</code> |
| <div class="block"><p class="changed_added_2_2"> |
| Allow for flow transitions in the case of components rendered by the renderers from component-family |
| <code>jakarta.faces.OutcomeTarget</code>.</div> |
| </td> |
| </tr> |
| <tr id="i2" class="altColor"> |
| <td class="colFirst"><code><a href="../../../jakarta/faces/flow/Flow.html" title="class in jakarta.faces.flow">Flow</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/faces/flow/FlowHandler.html#getCurrentFlow--">getCurrentFlow</a></span>()</code> |
| <div class="block"><p class="changed_added_2_2"> |
| Convenience overload that calls <a href="../../../jakarta/faces/context/FacesContext.html#getCurrentInstance--"><code>FacesContext.getCurrentInstance()</code></a> and then calls through to |
| <a href="../../../jakarta/faces/flow/FlowHandler.html#getCurrentFlow-jakarta.faces.context.FacesContext-"><code>getCurrentFlow(jakarta.faces.context.FacesContext)</code></a>.</div> |
| </td> |
| </tr> |
| <tr id="i3" class="rowColor"> |
| <td class="colFirst"><code>abstract <a href="../../../jakarta/faces/flow/Flow.html" title="class in jakarta.faces.flow">Flow</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/faces/flow/FlowHandler.html#getCurrentFlow-jakarta.faces.context.FacesContext-">getCurrentFlow</a></span>(<a href="../../../jakarta/faces/context/FacesContext.html" title="class in jakarta.faces.context">FacesContext</a> context)</code> |
| <div class="block"><p class="changed_added_2_2"> |
| Return the currently active <a href="../../../jakarta/faces/flow/Flow.html" title="class in jakarta.faces.flow"><code>Flow</code></a> for the argument <code>FacesContext</code>, or <code>null</code> if no flow is active.</div> |
| </td> |
| </tr> |
| <tr id="i4" class="altColor"> |
| <td class="colFirst"><code>abstract java.util.Map<java.lang.Object,java.lang.Object></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/faces/flow/FlowHandler.html#getCurrentFlowScope--">getCurrentFlowScope</a></span>()</code> |
| <div class="block"><p class="changed_added_2_2"> |
| Return the <code>Map</code> that backs the <code>#{flowScope}</code> Jakarta Expression Language implicit object or |
| <code>null</code> if no flow is currently active.</div> |
| </td> |
| </tr> |
| <tr id="i5" class="rowColor"> |
| <td class="colFirst"><code>abstract <a href="../../../jakarta/faces/flow/Flow.html" title="class in jakarta.faces.flow">Flow</a></code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/faces/flow/FlowHandler.html#getFlow-jakarta.faces.context.FacesContext-java.lang.String-java.lang.String-">getFlow</a></span>(<a href="../../../jakarta/faces/context/FacesContext.html" title="class in jakarta.faces.context">FacesContext</a> context, |
| java.lang.String definingDocumentId, |
| java.lang.String id)</code> |
| <div class="block"><p class="changed_added_2_2"> |
| Return the <a href="../../../jakarta/faces/flow/Flow.html" title="class in jakarta.faces.flow"><code>Flow</code></a> whose <code>id</code> is equivalent to the argument <code>id</code>, within the scope of the argument <code>definingDocument</code>.</div> |
| </td> |
| </tr> |
| <tr id="i6" class="altColor"> |
| <td class="colFirst"><code>abstract java.lang.String</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/faces/flow/FlowHandler.html#getLastDisplayedViewId-jakarta.faces.context.FacesContext-">getLastDisplayedViewId</a></span>(<a href="../../../jakarta/faces/context/FacesContext.html" title="class in jakarta.faces.context">FacesContext</a> context)</code> |
| <div class="block"><p class="changed_added_2_2"> |
| Return the last displayed viewId for the current flow, as returned by |
| <a href="../../../jakarta/faces/flow/FlowHandler.html#getCurrentFlow-jakarta.faces.context.FacesContext-"><code>getCurrentFlow(jakarta.faces.context.FacesContext)</code></a>, or <code>null</code> if there is no current flow.</div> |
| </td> |
| </tr> |
| <tr id="i7" class="rowColor"> |
| <td class="colFirst"><code>abstract boolean</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/faces/flow/FlowHandler.html#isActive-jakarta.faces.context.FacesContext-java.lang.String-java.lang.String-">isActive</a></span>(<a href="../../../jakarta/faces/context/FacesContext.html" title="class in jakarta.faces.context">FacesContext</a> context, |
| java.lang.String definingDocument, |
| java.lang.String id)</code> |
| <div class="block"><p class="changed_added_2_2"> |
| Return <code>true</code> if and only if the flow referenced by the argument <code>definingDocument</code> and <code>id</code> is |
| currently active.</div> |
| </td> |
| </tr> |
| <tr id="i8" class="altColor"> |
| <td class="colFirst"><code>abstract void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/faces/flow/FlowHandler.html#popReturnMode-jakarta.faces.context.FacesContext-">popReturnMode</a></span>(<a href="../../../jakarta/faces/context/FacesContext.html" title="class in jakarta.faces.context">FacesContext</a> context)</code> |
| <div class="block"><p class="changed_added_2_2"> |
| Enable the correct handling of navigation when processing a return node.</div> |
| </td> |
| </tr> |
| <tr id="i9" class="rowColor"> |
| <td class="colFirst"><code>abstract void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/faces/flow/FlowHandler.html#pushReturnMode-jakarta.faces.context.FacesContext-">pushReturnMode</a></span>(<a href="../../../jakarta/faces/context/FacesContext.html" title="class in jakarta.faces.context">FacesContext</a> context)</code> |
| <div class="block"><p class="changed_added_2_2"> |
| Enable the correct handling of navigation when processing a return node.</div> |
| </td> |
| </tr> |
| <tr id="i10" class="altColor"> |
| <td class="colFirst"><code>abstract void</code></td> |
| <td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/faces/flow/FlowHandler.html#transition-jakarta.faces.context.FacesContext-jakarta.faces.flow.Flow-jakarta.faces.flow.Flow-jakarta.faces.flow.FlowCallNode-java.lang.String-">transition</a></span>(<a href="../../../jakarta/faces/context/FacesContext.html" title="class in jakarta.faces.context">FacesContext</a> context, |
| <a href="../../../jakarta/faces/flow/Flow.html" title="class in jakarta.faces.flow">Flow</a> sourceFlow, |
| <a href="../../../jakarta/faces/flow/Flow.html" title="class in jakarta.faces.flow">Flow</a> targetFlow, |
| <a href="../../../jakarta/faces/flow/FlowCallNode.html" title="class in jakarta.faces.flow">FlowCallNode</a> outboundCallNode, |
| java.lang.String toViewId)</code> |
| <div class="block"><p class="changed_added_2_2"> |
| Perform a transition in the flow graph for the current user's <a href="../../../jakarta/faces/lifecycle/ClientWindow.html" title="class in jakarta.faces.lifecycle"><code>ClientWindow</code></a>.</div> |
| </td> |
| </tr> |
| </table> |
| <ul class="blockList"> |
| <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object"> |
| <!-- --> |
| </a> |
| <h3>Methods inherited from class java.lang.Object</h3> |
| <code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| </div> |
| <div class="details"> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <!-- ============ FIELD DETAIL =========== --> |
| <ul class="blockList"> |
| <li class="blockList"><a name="field.detail"> |
| <!-- --> |
| </a> |
| <h3>Field Detail</h3> |
| <a name="FLOW_ID_REQUEST_PARAM_NAME"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>FLOW_ID_REQUEST_PARAM_NAME</h4> |
| <pre>public static final java.lang.String FLOW_ID_REQUEST_PARAM_NAME</pre> |
| <div class="block"><p class="changed_added_2_2"> |
| Components that are rendered by <code>Renderers</code> of component-family <code>jakarta.faces.OutcomeTarget</code> |
| must use this constant as the parameter name for a parameter representing the flow id of the flow that this component |
| will cause to be entered. |
| </p></div> |
| <dl> |
| <dt><span class="simpleTagLabel">Since:</span></dt> |
| <dd>2.2</dd> |
| <dt><span class="seeLabel">See Also:</span></dt> |
| <dd><a href="../../../constant-values.html#jakarta.faces.flow.FlowHandler.FLOW_ID_REQUEST_PARAM_NAME">Constant Field Values</a></dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="TO_FLOW_DOCUMENT_ID_REQUEST_PARAM_NAME"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>TO_FLOW_DOCUMENT_ID_REQUEST_PARAM_NAME</h4> |
| <pre>public static final java.lang.String TO_FLOW_DOCUMENT_ID_REQUEST_PARAM_NAME</pre> |
| <div class="block"><p class="changed_added_2_2"> |
| Components that are rendered by <code>Renderers</code> of component-family <code>jakarta.faces.OutcomeTarget</code> |
| must use this constant as the parameter name for a parameter representing the defining document id of the flow that |
| this component will cause to be entered. |
| </p></div> |
| <dl> |
| <dt><span class="simpleTagLabel">Since:</span></dt> |
| <dd>2.2</dd> |
| <dt><span class="seeLabel">See Also:</span></dt> |
| <dd><a href="../../../constant-values.html#jakarta.faces.flow.FlowHandler.TO_FLOW_DOCUMENT_ID_REQUEST_PARAM_NAME">Constant Field Values</a></dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="NULL_FLOW"> |
| <!-- --> |
| </a> |
| <ul class="blockListLast"> |
| <li class="blockList"> |
| <h4>NULL_FLOW</h4> |
| <pre>public static final java.lang.String NULL_FLOW</pre> |
| <div class="block"><p class="changed_added_2_2"> |
| Components that are rendered by <code>Renderers</code> of component-family <code>jakarta.faces.OutcomeTarget</code> |
| must use this constant as the value of the parameter named by <a href="../../../jakarta/faces/flow/FlowHandler.html#TO_FLOW_DOCUMENT_ID_REQUEST_PARAM_NAME"><code>TO_FLOW_DOCUMENT_ID_REQUEST_PARAM_NAME</code></a> when |
| returning from a flow (without entering another flow) using such a component. |
| </p></div> |
| <dl> |
| <dt><span class="simpleTagLabel">Since:</span></dt> |
| <dd>2.2</dd> |
| <dt><span class="seeLabel">See Also:</span></dt> |
| <dd><a href="../../../constant-values.html#jakarta.faces.flow.FlowHandler.NULL_FLOW">Constant Field Values</a></dd> |
| </dl> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| <!-- ========= CONSTRUCTOR DETAIL ======== --> |
| <ul class="blockList"> |
| <li class="blockList"><a name="constructor.detail"> |
| <!-- --> |
| </a> |
| <h3>Constructor Detail</h3> |
| <a name="FlowHandler--"> |
| <!-- --> |
| </a> |
| <ul class="blockListLast"> |
| <li class="blockList"> |
| <h4>FlowHandler</h4> |
| <pre>public FlowHandler()</pre> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| <!-- ============ METHOD DETAIL ========== --> |
| <ul class="blockList"> |
| <li class="blockList"><a name="method.detail"> |
| <!-- --> |
| </a> |
| <h3>Method Detail</h3> |
| <a name="getCurrentFlowScope--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getCurrentFlowScope</h4> |
| <pre>public abstract java.util.Map<java.lang.Object,java.lang.Object> getCurrentFlowScope()</pre> |
| <div class="block"><p class="changed_added_2_2"> |
| Return the <code>Map</code> that backs the <code>#{flowScope}</code> Jakarta Expression Language implicit object or |
| <code>null</code> if no flow is currently active. |
| </p></div> |
| <dl> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>the <code>Map</code> for this flow scope.</dd> |
| <dt><span class="simpleTagLabel">Since:</span></dt> |
| <dd>2.2</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="getFlow-jakarta.faces.context.FacesContext-java.lang.String-java.lang.String-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getFlow</h4> |
| <pre>public abstract <a href="../../../jakarta/faces/flow/Flow.html" title="class in jakarta.faces.flow">Flow</a> getFlow(<a href="../../../jakarta/faces/context/FacesContext.html" title="class in jakarta.faces.context">FacesContext</a> context, |
| java.lang.String definingDocumentId, |
| java.lang.String id)</pre> |
| <div class="block"><p class="changed_added_2_2"> |
| Return the <a href="../../../jakarta/faces/flow/Flow.html" title="class in jakarta.faces.flow"><code>Flow</code></a> whose <code>id</code> is equivalent to the argument <code>id</code>, within the scope of the argument <code>definingDocument</code>. |
| </p></div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>context</code> - the <code>FacesContext</code> for the current request.</dd> |
| <dd><code>definingDocumentId</code> - An application unique identifier for the document in which the returned flow is defined.</dd> |
| <dd><code>id</code> - the id of a <a href="../../../jakarta/faces/flow/Flow.html" title="class in jakarta.faces.flow"><code>Flow</code></a>, unique within the scope of the <code>definingDocument</code>.</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>the <code>Flow</code> for the argument identifiers.</dd> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.lang.NullPointerException</code> - if any of the parameters are <code>null</code></dd> |
| <dt><span class="simpleTagLabel">Since:</span></dt> |
| <dd>2.2</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="addFlow-jakarta.faces.context.FacesContext-jakarta.faces.flow.Flow-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>addFlow</h4> |
| <pre>public abstract void addFlow(<a href="../../../jakarta/faces/context/FacesContext.html" title="class in jakarta.faces.context">FacesContext</a> context, |
| <a href="../../../jakarta/faces/flow/Flow.html" title="class in jakarta.faces.flow">Flow</a> toAdd)</pre> |
| <div class="block"><p class="changed_added_2_2"> |
| Add the argument <a href="../../../jakarta/faces/flow/Flow.html" title="class in jakarta.faces.flow"><code>Flow</code></a> to the collection of <code>Flow</code>s known to the current application. The implementation |
| must be thread safe. |
| </p></div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>context</code> - the <code>FacesContext</code> for the current request.</dd> |
| <dd><code>toAdd</code> - the <code>Flow</code> to add.</dd> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.lang.NullPointerException</code> - if any of the parameters are <code>null</code></dd> |
| <dd><code>java.lang.IllegalStateException</code> - if there is already a flow with the same <code>id</code> as the argument <code>Flow</code> within |
| the scope of the <code>definingDocument</code>.</dd> |
| <dd><code>java.lang.IllegalArgumentException</code> - if the <code>id</code> of the flow to add is <code>null</code> or the empty string.</dd> |
| <dd><code>java.lang.IllegalArgumentException</code> - if the <code>definingDocumentId</code> of the <code>toAdd</code> is <code>null</code>.</dd> |
| <dt><span class="simpleTagLabel">Since:</span></dt> |
| <dd>2.2</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="getCurrentFlow-jakarta.faces.context.FacesContext-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getCurrentFlow</h4> |
| <pre>public abstract <a href="../../../jakarta/faces/flow/Flow.html" title="class in jakarta.faces.flow">Flow</a> getCurrentFlow(<a href="../../../jakarta/faces/context/FacesContext.html" title="class in jakarta.faces.context">FacesContext</a> context)</pre> |
| <div class="block"><p class="changed_added_2_2"> |
| Return the currently active <a href="../../../jakarta/faces/flow/Flow.html" title="class in jakarta.faces.flow"><code>Flow</code></a> for the argument <code>FacesContext</code>, or <code>null</code> if no flow is active. |
| A <code>Flow</code> must always be associated with exactly one <a href="../../../jakarta/faces/lifecycle/ClientWindow.html" title="class in jakarta.faces.lifecycle"><code>ClientWindow</code></a>, but a |
| <code>ClientWindow</code> may have multiple <code>Flow</code>s. |
| </p> |
| |
| <div class="changed_added_2_2"> |
| |
| <p> |
| If <a href="../../../jakarta/faces/flow/FlowHandler.html#pushReturnMode-jakarta.faces.context.FacesContext-"><code>pushReturnMode(jakarta.faces.context.FacesContext)</code></a> had been called with <code>true</code> as the argument before invoking this method, return the |
| preceding flow on the stack instead of the actual current flow, or <code>null</code> if there is no preceding flow. |
| Otherwise, return the current flow. |
| </p> |
| |
| </div></div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>context</code> - the <code>FacesContext</code> for the current request.</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>the current <code>Flow</code> or <code>null</code> if no flow is active</dd> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.lang.NullPointerException</code> - if any of the parameters are <code>null</code></dd> |
| <dt><span class="simpleTagLabel">Since:</span></dt> |
| <dd>2.2</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="getCurrentFlow--"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getCurrentFlow</h4> |
| <pre>public <a href="../../../jakarta/faces/flow/Flow.html" title="class in jakarta.faces.flow">Flow</a> getCurrentFlow()</pre> |
| <div class="block"><p class="changed_added_2_2"> |
| Convenience overload that calls <a href="../../../jakarta/faces/context/FacesContext.html#getCurrentInstance--"><code>FacesContext.getCurrentInstance()</code></a> and then calls through to |
| <a href="../../../jakarta/faces/flow/FlowHandler.html#getCurrentFlow-jakarta.faces.context.FacesContext-"><code>getCurrentFlow(jakarta.faces.context.FacesContext)</code></a>. |
| </p></div> |
| <dl> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>the current <code>Flow</code> or <code>null</code> if no flow is active</dd> |
| <dt><span class="simpleTagLabel">Since:</span></dt> |
| <dd>2.2</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="getLastDisplayedViewId-jakarta.faces.context.FacesContext-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>getLastDisplayedViewId</h4> |
| <pre>public abstract java.lang.String getLastDisplayedViewId(<a href="../../../jakarta/faces/context/FacesContext.html" title="class in jakarta.faces.context">FacesContext</a> context)</pre> |
| <div class="block"><p class="changed_added_2_2"> |
| Return the last displayed viewId for the current flow, as returned by |
| <a href="../../../jakarta/faces/flow/FlowHandler.html#getCurrentFlow-jakarta.faces.context.FacesContext-"><code>getCurrentFlow(jakarta.faces.context.FacesContext)</code></a>, or <code>null</code> if there is no current flow. |
| </p></div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>context</code> - the <code>FacesContext</code> for the current request.</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>the last displayed viewId.</dd> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.lang.NullPointerException</code> - if <code>context</code> is <code>null</code></dd> |
| <dt><span class="simpleTagLabel">Since:</span></dt> |
| <dd>2.2</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="pushReturnMode-jakarta.faces.context.FacesContext-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>pushReturnMode</h4> |
| <pre>public abstract void pushReturnMode(<a href="../../../jakarta/faces/context/FacesContext.html" title="class in jakarta.faces.context">FacesContext</a> context)</pre> |
| <div class="block"><p class="changed_added_2_2"> |
| Enable the correct handling of navigation when processing a return node. The default |
| <a href="../../../jakarta/faces/application/NavigationHandler.html" title="class in jakarta.faces.application"><code>NavigationHandler</code></a> specification requires calling this method before processing the |
| navigation rules for the flow return, and calling <a href="../../../jakarta/faces/flow/FlowHandler.html#popReturnMode-jakarta.faces.context.FacesContext-"><code>popReturnMode(jakarta.faces.context.FacesContext)</code></a>, from a <code>finally</code> block, immediately |
| afterward. |
| </p></div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>context</code> - the <code>FacesContext</code> for the current request.</dd> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.lang.NullPointerException</code> - if <code>context</code> is <code>null</code>.</dd> |
| <dt><span class="simpleTagLabel">Since:</span></dt> |
| <dd>2.2</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="popReturnMode-jakarta.faces.context.FacesContext-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>popReturnMode</h4> |
| <pre>public abstract void popReturnMode(<a href="../../../jakarta/faces/context/FacesContext.html" title="class in jakarta.faces.context">FacesContext</a> context)</pre> |
| <div class="block"><p class="changed_added_2_2"> |
| Enable the correct handling of navigation when processing a return node. The default |
| <a href="../../../jakarta/faces/application/NavigationHandler.html" title="class in jakarta.faces.application"><code>NavigationHandler</code></a> specification requires calling this method from a <code>finally</code> |
| block, immediately attempting to process the navigation rules in the context of a flow return. |
| </p></div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>context</code> - the <code>FacesContext</code> for the current request.</dd> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.lang.NullPointerException</code> - if <code>context</code> is <code>null</code>.</dd> |
| <dt><span class="simpleTagLabel">Since:</span></dt> |
| <dd>2.2</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="transition-jakarta.faces.context.FacesContext-jakarta.faces.flow.Flow-jakarta.faces.flow.Flow-jakarta.faces.flow.FlowCallNode-java.lang.String-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>transition</h4> |
| <pre>public abstract void transition(<a href="../../../jakarta/faces/context/FacesContext.html" title="class in jakarta.faces.context">FacesContext</a> context, |
| <a href="../../../jakarta/faces/flow/Flow.html" title="class in jakarta.faces.flow">Flow</a> sourceFlow, |
| <a href="../../../jakarta/faces/flow/Flow.html" title="class in jakarta.faces.flow">Flow</a> targetFlow, |
| <a href="../../../jakarta/faces/flow/FlowCallNode.html" title="class in jakarta.faces.flow">FlowCallNode</a> outboundCallNode, |
| java.lang.String toViewId)</pre> |
| <div class="block"><p class="changed_added_2_2"> |
| Perform a transition in the flow graph for the current user's <a href="../../../jakarta/faces/lifecycle/ClientWindow.html" title="class in jakarta.faces.lifecycle"><code>ClientWindow</code></a>. Obtain |
| references to the <code>Flow</code> instances corresponding to the <code>origin</code> and <code>destination</code> arguments. If |
| the <code>origin Flow</code> is equal to the <code>destination Flow</code>, take no action and return <code>null</code>. Otherwise, |
| if the <code>outboundCallNode</code> argument is non-<code>null</code> save aside the outbound parameters. For discussion |
| <strong>evaluatedParams</strong> is a data structure that stores the evaluated values of any outbound parameters. It |
| is necessary to evaluate these values before popping any flow scopes because the values may refer to scoped instances |
| that need to be passed to the target flow, but will not be available once the new scope is activated. Save aside the |
| outbound parameters using the following algorithm. |
| </p> |
| |
| <div class="changed_added_2_2"> |
| |
| <blockquote> |
| |
| <p> |
| If the <code>outboundParameters</code> property of <code>outboundCallNode</code> is non-<code>null</code> and not empty, and the <code>inboundParameters</code> property of the target flow is |
| non-<code>null</code> and not empty, for each entry in the outbound parameters whose name matches an entry in the inbound |
| parameters, evaluate the value of the parameter, and put the evaluated value into <strong>evaluatedParams</strong> |
| under the corresponding name. Otherwise, consider <strong>evaluatedParams</strong> to be empty. |
| </p> |
| |
| </blockquote> |
| |
| <p> |
| If the <code>destination Flow</code> is a sub-flow of the <code>origin Flow</code> push the <code>destination Flow</code> onto the flow data structure and return <code>the destination Flow</code>. |
| Otherwise, pop the current <code>Flow</code> from the flow data structure. If the <code>destination Flow</code> is |
| non-<code>null</code>, make the <code>destination Flow</code> the current flow, pushing it onto the data structure. If <strong>evaluatedParams</strong> is not |
| empty, for each entry, find the corresponding parameter in the target flow's inbound parameters and call its |
| <code>setValue</code> method, passing the value from <strong>evaluatedParams</strong>. |
| </p> |
| |
| </div></div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>context</code> - the <code>FacesContext</code> for the current request.</dd> |
| <dd><code>sourceFlow</code> - the current <code>Flow</code>, or <code>null</code> if there is no source flow.</dd> |
| <dd><code>targetFlow</code> - the destination <code>Flow</code>, or <code>null</code> if there is no destination flow.</dd> |
| <dd><code>outboundCallNode</code> - the flow call node causing this transition, or <code>null</code> if this transition is not caused |
| by a flow call.</dd> |
| <dd><code>toViewId</code> - the viewId of the view being displayed as a result of this transition. This parameter makes it |
| possible to implement <a href="../../../jakarta/faces/flow/FlowHandler.html#getLastDisplayedViewId-jakarta.faces.context.FacesContext-"><code>getLastDisplayedViewId(jakarta.faces.context.FacesContext)</code></a>.</dd> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.lang.NullPointerException</code> - if <code>context</code> or <code>toViewId</code> is <code>null</code>.</dd> |
| <dt><span class="simpleTagLabel">Since:</span></dt> |
| <dd>2.2</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="clientWindowTransition-jakarta.faces.context.FacesContext-"> |
| <!-- --> |
| </a> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <h4>clientWindowTransition</h4> |
| <pre>public abstract void clientWindowTransition(<a href="../../../jakarta/faces/context/FacesContext.html" title="class in jakarta.faces.context">FacesContext</a> context)</pre> |
| <div class="block"><p class="changed_added_2_2"> |
| Allow for flow transitions in the case of components rendered by the renderers from component-family |
| <code>jakarta.faces.OutcomeTarget</code>. These transitions must happen at the front of the request processing |
| lifecycle due to the HTTP GET based nature of such components. Therefore, this method is called from the restore view |
| phase of the lifecycle. |
| </p> |
| |
| <div class="changed_added_2_2"> |
| |
| <p> |
| Let <em>flowId</em> be the value in the request parameter map for the parameter whose name is given by the value of |
| <a href="../../../jakarta/faces/flow/FlowHandler.html#FLOW_ID_REQUEST_PARAM_NAME"><code>FLOW_ID_REQUEST_PARAM_NAME</code></a>. Let <em>toFlowDocumentId</em> be the value in the request parameter map for the |
| paramater whose name is given by the value of <a href="../../../jakarta/faces/flow/FlowHandler.html#TO_FLOW_DOCUMENT_ID_REQUEST_PARAM_NAME"><code>TO_FLOW_DOCUMENT_ID_REQUEST_PARAM_NAME</code></a>. If |
| <em>toFlowDocumentId</em> is <code>null</code>, take no action and return. Otherwise, let <em>sourceFlow</em> be the |
| return from <a href="../../../jakarta/faces/flow/FlowHandler.html#getCurrentFlow-jakarta.faces.context.FacesContext-"><code>getCurrentFlow(jakarta.faces.context.FacesContext)</code></a>. A <code>null</code> value indicates there is |
| no current flow, which will be the case if this navigation is trying to enter a flow. If <em>flowId</em> is not |
| <code>null</code> and <em>toFlowDocumentId</em> is <strong>not</strong> equal to the value of <a href="../../../jakarta/faces/flow/FlowHandler.html#NULL_FLOW"><code>NULL_FLOW</code></a>, let |
| <em>targetFlow</em> be the result of calling |
| <a href="../../../jakarta/faces/flow/FlowHandler.html#getFlow-jakarta.faces.context.FacesContext-java.lang.String-java.lang.String-"><code>getFlow(jakarta.faces.context.FacesContext, java.lang.String, java.lang.String)</code></a>, passing |
| <em>toFlowDocumentId</em> and <em>flowId</em> as the last two arguments, respectively. If the result is |
| non-<code>null</code>, let <em>flowCallNode</em> be the return from calling <a href="../../../jakarta/faces/flow/Flow.html#getFlowCall-jakarta.faces.flow.Flow-"><code>Flow.getFlowCall(jakarta.faces.flow.Flow)</code></a> on the |
| <em>sourceFlow</em>, passing <em>targetFlow</em> as the argument. Otherwise, <em>targetFlow</em> and |
| <em>flowCallNode</em> must remain <code>null</code>, indicating that this is a flow return. Call |
| <a href="../../../jakarta/faces/context/FacesContext.html#getViewRoot--"><code>FacesContext.getViewRoot()</code></a> and let <em>toViewId</em> be the the return from calling |
| <a href="../../../jakarta/faces/component/UIViewRoot.html#getViewId--"><code>UIViewRoot.getViewId()</code></a> on it. |
| </p> |
| |
| <p> |
| Call, <a href="../../../jakarta/faces/flow/FlowHandler.html#transition-jakarta.faces.context.FacesContext-jakarta.faces.flow.Flow-jakarta.faces.flow.Flow-jakarta.faces.flow.FlowCallNode-java.lang.String-"><code>transition(jakarta.faces.context.FacesContext, jakarta.faces.flow.Flow, jakarta.faces.flow.Flow, jakarta.faces.flow.FlowCallNode, java.lang.String)</code></a>, passing the arguments gathered in the preceding algorithm. |
| </p> |
| |
| </div></div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>context</code> - the <code>FacesContext</code> for the current request.</dd> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.lang.NullPointerException</code> - if <code>context</code> is <code>null</code>.</dd> |
| <dt><span class="simpleTagLabel">Since:</span></dt> |
| <dd>2.2</dd> |
| </dl> |
| </li> |
| </ul> |
| <a name="isActive-jakarta.faces.context.FacesContext-java.lang.String-java.lang.String-"> |
| <!-- --> |
| </a> |
| <ul class="blockListLast"> |
| <li class="blockList"> |
| <h4>isActive</h4> |
| <pre>public abstract boolean isActive(<a href="../../../jakarta/faces/context/FacesContext.html" title="class in jakarta.faces.context">FacesContext</a> context, |
| java.lang.String definingDocument, |
| java.lang.String id)</pre> |
| <div class="block"><p class="changed_added_2_2"> |
| Return <code>true</code> if and only if the flow referenced by the argument <code>definingDocument</code> and <code>id</code> is |
| currently active. |
| </p></div> |
| <dl> |
| <dt><span class="paramLabel">Parameters:</span></dt> |
| <dd><code>context</code> - the <code>FacesContext</code> for the current request.</dd> |
| <dd><code>definingDocument</code> - An application unique identifier for the document in which the returned flow is defined.</dd> |
| <dd><code>id</code> - the id of a <a href="../../../jakarta/faces/flow/Flow.html" title="class in jakarta.faces.flow"><code>Flow</code></a>, unique within the scope of the <code>definingDocument</code>.</dd> |
| <dt><span class="returnLabel">Returns:</span></dt> |
| <dd>true if and only if the referenced flow is active</dd> |
| <dt><span class="throwsLabel">Throws:</span></dt> |
| <dd><code>java.lang.NullPointerException</code> - if any of the parameters are <code>null</code></dd> |
| <dt><span class="simpleTagLabel">Since:</span></dt> |
| <dd>2.2</dd> |
| </dl> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| </div> |
| </div> |
| <!-- ========= END OF CLASS DATA ========= --> |
| <!-- ======= START OF BOTTOM NAVBAR ====== --> |
| <div class="bottomNav"><a name="navbar.bottom"> |
| <!-- --> |
| </a> |
| <div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div> |
| <a name="navbar.bottom.firstrow"> |
| <!-- --> |
| </a> |
| <ul class="navList" title="Navigation"> |
| <li><a href="../../../overview-summary.html">Overview</a></li> |
| <li><a href="package-summary.html">Package</a></li> |
| <li class="navBarCell1Rev">Class</li> |
| <li><a href="package-tree.html">Tree</a></li> |
| <li><a href="../../../deprecated-list.html">Deprecated</a></li> |
| <li><a href="../../../index-all.html">Index</a></li> |
| <li><a href="../../../help-doc.html">Help</a></li> |
| </ul> |
| </div> |
| <div class="subNav"> |
| <ul class="navList"> |
| <li><a href="../../../jakarta/faces/flow/FlowCallNode.html" title="class in jakarta.faces.flow"><span class="typeNameLink">Prev Class</span></a></li> |
| <li><a href="../../../jakarta/faces/flow/FlowHandlerFactory.html" title="class in jakarta.faces.flow"><span class="typeNameLink">Next Class</span></a></li> |
| </ul> |
| <ul class="navList"> |
| <li><a href="../../../index.html?jakarta/faces/flow/FlowHandler.html" target="_top">Frames</a></li> |
| <li><a href="FlowHandler.html" target="_top">No Frames</a></li> |
| </ul> |
| <ul class="navList" id="allclasses_navbar_bottom"> |
| <li><a href="../../../allclasses-noframe.html">All Classes</a></li> |
| </ul> |
| <div> |
| <script type="text/javascript"><!-- |
| allClassesLink = document.getElementById("allclasses_navbar_bottom"); |
| if(window==top) { |
| allClassesLink.style.display = "block"; |
| } |
| else { |
| allClassesLink.style.display = "none"; |
| } |
| //--> |
| </script> |
| </div> |
| <div> |
| <ul class="subNavList"> |
| <li>Summary: </li> |
| <li>Nested | </li> |
| <li><a href="#field.summary">Field</a> | </li> |
| <li><a href="#constructor.summary">Constr</a> | </li> |
| <li><a href="#method.summary">Method</a></li> |
| </ul> |
| <ul class="subNavList"> |
| <li>Detail: </li> |
| <li><a href="#field.detail">Field</a> | </li> |
| <li><a href="#constructor.detail">Constr</a> | </li> |
| <li><a href="#method.detail">Method</a></li> |
| </ul> |
| </div> |
| <a name="skip.navbar.bottom"> |
| <!-- --> |
| </a></div> |
| <!-- ======== END OF BOTTOM NAVBAR ======= --> |
| </body> |
| </html> |