この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

Newer Version Available

This content describes an older version of this product. View Latest

Interview クラス

Flow.Interview クラスは、フローへの高度な Visualforce コントローラアクセスとフローを起動する機能を提供します。

名前空間

Flow

使用方法

Flow.Interview クラスは、Visual Workflow とともに使用されます。このクラスでメソッドを使用して、トリガ対応フローを起動したり、Visualforce コントローラを有効にしてフロー変数にアクセスしたりします。

次のサンプルでは、getVariableValue メソッドを使用して Visualforce ページに埋め込まれたフローからブレッドクラム (ナビゲーション) 情報を取得します。そのフローにサブフロー要素が含まれ、参照される各フローにも vaBreadCrumb 変数が含まれる場合、どのフローでインタビューが実行されているかに関わらず、すべてのフローのブレッドクラムを Visualforce ページから取得できます。
1swfobject.registerObject("clippy.flow_getVariableValue_codesample", "9");public class SampleController {
2
3   //Instance of the flow
4   public Flow.Interview.Flow_Template_Gallery myFlow {get; set;}
5
6   public String getBreadCrumb() {
7      String aBreadCrumb;
8      if (myFlow==null) { return 'Home';}
9      else aBreadCrumb = (String) myFlow.getVariableValue('vaBreadCrumb');
10
11      return(aBreadCrumb==null ? 'Home': aBreadCrumb);
12
13   }
14}
15

次のサンプルコントローラでは、フローと対応する Visualforce ページを開始します。Visualforce ページには、入力ボックスと開始ボタンが含まれます。ユーザが入力ボックスに数値を入力し、[開始] をクリックすると、コントローラの start メソッドがコールされます。このコールにより、ユーザが入力した値がフローの input 変数に保存され、start メソッドを使用してフローが起動されます。フローでは input の値を 2 倍にして output 変数に割り当てます。getVariableValue メソッドを使用して出力ラベルには output の値が表示されます。

1swfobject.registerObject("clippy.codeblock-1", "9");public class FlowController {
2
3   //Instance of the Flow
4   public Flow.Interview.doubler myFlow {get; set;}
5   public Double value {get; set;}
6
7   public Double getOutput() {
8      if (myFlow == null) return null;
9      return (Double)(myFlow.getVariableValue('v1'));
10   }
11
12   public void start() {
13      Map<String, Object> myMap = new Map<String, Object>();
14      myMap.put('v1', input);
15      myFlow = new Flow.Interview.doubler(myMap);
16      myFlow.start();
17   }
18}

次は、サンプルのフローコントローラを使用するVisualforce ページです。

1swfobject.registerObject("clippy.codeblock-2", "9");<apex:page controller="FlowController">
2    <apex:outputLabel id="text">v1 = {!output}</apex:outputLabel>
3
4    <apex:form >
5        value : <apex:inputText value="{!output}"/>
6        <apex:commandButton action="{!start}" value="Start" reRender="text"/>
7    </apex:form>
8</apex:page>

Interview メソッド

Interview のインスタンスメソッドを次に示します。

getVariableValue(String)

指定されたフロー変数の値を返します。フロー変数は、Visualforce ページに埋め込まれたフロー内、またはサブフロー要素によってコールされる個別のフロー内にあります。

署名

public Object getVariableValue(String variableName)

パラメータ

variableName
型: String
フロー変数の一意の名前を指定します。

戻り値

型: Object

使用方法

変数値は、これらのうちインタビューが現在実行されているフローから返されます。指定された変数がフロー内に見つからない場合、メソッドは null を返します。

このメソッドは、コンパイル時ではなく実行時にのみ変数の存在を確認します。

start()

トリガ対応フローを起動します。

署名

public Void start()

戻り値

型: Void

使用方法

このメソッドは、トリガ対応フローでのみ使用できます。トリガ対応フローは、フロートリガワークフローアクションや Apex interview.start メソッドなどからユーザの操作なしで起動できるフローです。トリガ対応フローは、一括かつユーザ操作なしで実行できなければならないため、有効なフローバージョン (有効なバージョンがない場合は最新のフローバージョン) に、ステップ、画面、選択肢、動的選択肢を含めることができません。