クラス FlowBuilder

java.lang.ObjectSE
jakarta.faces.flow.builder.FlowBuilder

public abstract class FlowBuilder extends ObjectSE

Flow を構築するための Java 言語 API。この API は、アプリケーション構成リソースの XML スキーマ定義の <flow-definition> 要素と意味的に同じです。

使用例:

 public class FlowA implements Serializable {

    @Produces FlowDefinition
    public Flow buildMyFlow(@FlowBuilderParameter FlowBuilder flowBuilder) {
        String flowId = "flow-a";
        flowBuilder.id("unique", flowId);
        flowBuilder.returnNode("taskFlowReturn1").
                fromOutcome("#{flow_a_Bean.returnValue}");
        flowBuilder.inboundParameter("param1FromFlowB", "#{flowScope.param1Value}");
        flowBuilder.inboundParameter("param2FromFlowB", "#{flowScope.param2Value}");
        flowBuilder.flowCallNode("callB").flowReference("", "flow-b").
                outboundParameter("param1FromFlowA", "param1Value").
                outboundParameter("param2FromFlowA", "param2Value");

        return flowBuilder.getFlow();
    }
}

 

ランタイムは、起動時にそのようなすべてのメソッドを検出し、FlowHandler.addFlow(jakarta.faces.context.FacesContext, jakarta.faces.flow.Flow) メソッドを使用して返されたフローが FlowHandler に追加されるようにする必要があります。

導入:
2.2
  • コンストラクターの詳細

    • FlowBuilder

      public FlowBuilder()
  • メソッドの詳細

    • id

      public abstract FlowBuilder id(StringSE definingDocumentId, StringSE id)

      このフローの定義ドキュメント ID とフロー ID を設定します。

      パラメーター:
      definingDocumentId - このフローの定義ドキュメント ID、またはこのフローが定義ドキュメント ID を必要としない場合は空の文字列。
      id - フローの ID
      戻り値:
      ビルダーインスタンス
      例外:
      NullPointerExceptionSE - パラメーターのいずれかが null の場合
      導入:
      2.2
    • viewNode

      public abstract ViewBuilder viewNode(StringSE viewNodeId, StringSE vdlDocumentId)

      フローグラフでビューノードを定義します。

      パラメーター:
      viewNodeId - フローグラフ内で、このビューノードの ID。このフローグラフのすべてのノード間で一意である必要があります。
      vdlDocumentId - このフロー内のビューノードへの完全修飾パス。
      戻り値:
      ビルダーインスタンス
      例外:
      NullPointerExceptionSE - パラメーターのいずれかが null の場合
      導入:
      2.2
    • switchNode

      public abstract SwitchBuilder switchNode(StringSE switchNodeId)

      フローグラフの次に進む場所を決定するために、定義された順序でインスペクションされるケースの特定のリストを定義します。いずれのケースも一致しない場合は、デフォルトのケースの結果が選択されます。

      パラメーター:
      switchNodeId - フローグラフ内で、このスイッチノードの ID。このフローグラフのすべてのノード間で一意である必要があります。
      戻り値:
      ビルダーインスタンス
      例外:
      NullPointerExceptionSE - パラメーターのいずれかが null の場合
      導入:
      2.2
    • returnNode

      public abstract ReturnBuilder returnNode(StringSE returnNodeId)

      リターンノードを定義します。このノードにより、指定された結果が呼び出しフローに返されます。

      パラメーター:
      returnNodeId - フローグラフ内で、このリターンノードの ID。このフローグラフのすべてのノード間で一意である必要があります。
      戻り値:
      ビルダーインスタンス
      例外:
      NullPointerExceptionSE - パラメーターのいずれかが null の場合
      導入:
      2.2
    • methodCallNode

      public abstract MethodCallBuilder methodCallNode(StringSE methodCallNodeId)

      メソッド呼び出しノードを定義します。このノードにより、指定されたメソッドが呼び出され、必要に応じてパラメーターが渡されます。メソッドからのリターンは、フローの次に進む場所の結果として使用されます。メソッドが void メソッドの場合、デフォルトの結果が使用されます。

      パラメーター:
      methodCallNodeId - フローグラフ内で、このメソッド呼び出しノードの ID。このフローグラフのすべてのノード間で一意である必要があります。
      戻り値:
      ビルダーインスタンス
      例外:
      NullPointerExceptionSE - パラメーターのいずれかが null の場合
      導入:
      2.2
    • flowCallNode

      public abstract FlowCallBuilder flowCallNode(StringSE flowCallNodeId)

      フロー呼び出しノードを定義します。このノードにより、指定されたフローが呼び出され、必要に応じてパラメーターが渡されます。

      パラメーター:
      flowCallNodeId - フローグラフ内で、このリターンノードの ID。このフローグラフのすべてのノード間で一意である必要があります。
      戻り値:
      ビルダーインスタンス
      例外:
      NullPointerExceptionSE - パラメーターのいずれかが null の場合
      導入:
      2.2
    • initializer

      public abstract FlowBuilder initializer(MethodExpression methodExpression)

      フローが開始されたときに呼び出される MethodExpression。

      パラメーター:
      methodExpression - 呼び出す式は、引数なしのメソッドを参照する必要があります。
      戻り値:
      ビルダーインスタンス
      例外:
      NullPointerExceptionSE - パラメーターのいずれかが null の場合
      導入:
      2.2
    • initializer

      public abstract FlowBuilder initializer(StringSE methodExpression)

      フローが開始されたときに呼び出される MethodExpression。

      パラメーター:
      methodExpression - 呼び出す式は、引数なしのメソッドを参照する必要があります。
      戻り値:
      ビルダーインスタンス
      例外:
      NullPointerExceptionSE - パラメーターのいずれかが null の場合
      導入:
      2.2
    • finalizer

      public abstract FlowBuilder finalizer(MethodExpression methodExpression)

      フローが終了したときに呼び出される MethodExpression。

      パラメーター:
      methodExpression - 呼び出す式は、引数なしのメソッドを参照する必要があります。
      戻り値:
      ビルダーインスタンス
      例外:
      NullPointerExceptionSE - パラメーターのいずれかが null の場合
      導入:
      2.2
    • finalizer

      public abstract FlowBuilder finalizer(StringSE methodExpression)

      フローが終了したときに呼び出される MethodExpression。

      パラメーター:
      methodExpression - 呼び出す式は、引数なしのメソッドを参照する必要があります。
      戻り値:
      ビルダーインスタンス
      例外:
      NullPointerExceptionSE - パラメーターのいずれかが null の場合
      導入:
      2.2
    • inboundParameter

      public abstract FlowBuilder inboundParameter(StringSE name, ValueExpression expression)

      このフローがそのフローから入力されたときに、別のフローからの対応する名前の送信パラメーターからの値が入力されるパラメーター。

      パラメーター:
      name - パラメーター名
      expression - フローが呼び出されたときに受信値を入力する ValueExpression
      戻り値:
      ビルダーインスタンス
      例外:
      NullPointerExceptionSE - パラメーターのいずれかが null の場合
      導入:
      2.2
    • inboundParameter

      public abstract FlowBuilder inboundParameter(StringSE name, StringSE expression)

      このフローがそのフローから入力されたときに、別のフローからの対応する名前の送信パラメーターからの値が入力されるパラメーター。

      パラメーター:
      name - パラメーター名
      expression - フローが呼び出されたときに受信値を入力する ValueExpression 文字列。
      戻り値:
      ビルダーインスタンス
      例外:
      NullPointerExceptionSE - パラメーターのいずれかが null の場合
      導入:
      2.2
    • getFlow

      public abstract Flow getFlow()

      フロー定義の最後のステップとして呼び出されるこのメソッドは、実装固有の初期化を実行し、ビルドされた Flow を返す必要があります。特定のフロー構築プロセス中に複数回呼び出された場合、2 回目以降の呼び出しはアクションを実行せず、構築されたフローを返す必要があります。

      戻り値:
      完全に構築された Flow
      例外:
      IllegalStateExceptionSE - このメソッドが呼び出される前に id(java.lang.String, java.lang.String) メソッドが呼び出されていなかった場合。
      導入:
      2.2