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

Interview クラス

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

名前空間

Flow

使用方法

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

フローの実行時に SOQL および DML 制限が適用されます。『Visual Workflow Guide』「Apex Governor Limits that Affect Flows」を参照してください。

次のサンプルでは、getVariableValue メソッドを使用して Visualforce ページに埋め込まれたフローからブレッドクラム (ナビゲーション) 情報を取得します。そのフローにサブフロー要素が含まれ、参照される各フローにも vaBreadCrumb 変数が含まれる場合、どのフローでインタビューが実行されているかに関わらず、すべてのフローのブレッドクラムを Visualforce ページから取得できます。
1public 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}

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

1public class FlowController {
2
3   //Instance of the Flow
4   public Flow.Interview.doubler myFlow {getset;}
5   public Double value {getset;}
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<StringObject> myMap = new Map<StringObject>();
14      myMap.put('v1'input);
15      myFlow = new Flow.Interview.doubler(myMap);
16      myFlow.start();
17   }
18}

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

1<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(variableName)

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

署名

public Object getVariableValue(String variableName)

パラメータ

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

戻り値

型: Object

使用方法

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

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

start()

自動起動フローまたはユーザプロビジョニングフローを呼び出します。

署名

public Void start()

戻り値

型: Void

使用方法

このメソッドは、次のいずれかの種別のフローでのみ使用できます。
  • 自動起動フロー
  • ユーザプロビジョニングフロー
詳細は、『Visual Workflow Guide』「フロー種別」を参照してください。

フローユーザが自動起動フローを呼び出すと、有効なフローバージョンが実行されます。有効なバージョンがない場合は、最新バージョンが実行されます。フロー管理者が自動起動フローを呼び出すと、常に最新のバージョンが実行されます。