この文章は 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 コントローラを有効にしてフロー変数にアクセスしたりします。

フローの実行時に 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』「フロー種別」を参照してください。

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