Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Anchor
top
top

...

このclassは、便宜のためにオーバーロードされたコンストラクターを、各プロパティにセッターを提供します。最も記述的なコンスタクラーは、以下の通りです。

public ParameterDisplayRule(String logic, String property, Object[] vals, boolean negative, PropertyLocation location)

...

  • logicは、このインスタンスのParameterDisplayRule内に複数の「子」表示ルールがある場合に、演算子を指定するために使用します。LogicはAND、またはORになります。3つの子ルールがあり、logicがANDの場合、各ルールは個別に検証され、結果は以下のように結合されます。
    Rule1Result && Rule2Result && Rule3Result
    「子」表示ルールが無い場合、Logicは無視されます。子ルールがある場合、「親」ルールは検証されません。これは、子ルールのコンテナとしてのみ使用されます。
  • propertyは、この表示ルールに検証される「その他」のパラメーターを指定します。各パラメーターインスタンスは、その値の識別子を持ちます。例えば、ユーザーがテキストインプットパラメーターに入力したすべては、それがプロパティとして指定されている場合、識別子「SOURCE」を使用して参照されます。
  • valsは、比較の値の配列です。配列内の各値は、対等性のために「その他」のパラメーターとf比較されます。これらはその後、演算子ORを使用して結合されます。
  • negativeは、valsを「その他」のパラメーターと比較した後に得られる結果を反転します。
    If vals = {null, 0}

    negative結果true
    • trueの結果:property != null && property != 0
    false
    • falseの結果:property == null || property == 0


  • locationは、PropertyLocationのインスタンスであり、「その他」のパラメーターの配置場所を判断するために使用します。これは、複数のセクション/パネル内に同一のプロパティとともにパラメーターが存在する場合に有効です。これがnullの場合、プロパティは、このParamterDIsplayRuleの親と同一の場所に配置されていると判断されます。

...

  • パラメーターの「プロパティ」は、変更された値とイベントデータを参照するために使用するため重要です。例:
    p.setProperty("view");
  • パラメーター変更時には、イベント名を指定しなくてはいけません。値ローダーは、これを元に何をするかを決定することができます。例:
    p.setEvent("viewChanged");
  • イベントデータは、パラメーターに接続されることもあります。これは、利用可能なすべてのフィールドや、他のステップオプションの値など、ステップに関する任意の情報になります。
    p.addEventData("fieldsMap", allFieldsMap);
    p.addEventData("sourceId", getStepOption("SOURCE_ID"));
  • 値ローダーのイベントへの応答はgetUpdatedPossibleValues()、またはgenerateDynamicParameterメソッドを使用して返すことができます。これらは、以下に示すメンバー変数を使用して、イベントへの応答方法を決定することができます。Yellowfinはこれらのメソッドを、以下の手順で実行します。
    pvl.getDynamicParameterOptions.setValues(pvl.getUpdatedPossibleValues());
    pvl.generateDynamicParameters();

    Note

    注意:このgenerateDynamicParameters()は何も返しません。メソッドの実装は、「応答」メンバーの設定を想定しています。


  • 依存関係は、値依存、またはイベントを使用して設定することができます。これら両方のオプションの詳細は、以下で紹介します。


ValueDependencies

パラメーター作成時に、パラメーターが依存する「ValueDependencies」の一覧を作成することができます。これらは、パネルコレクション内の他の場所に存在するパラメーターを指している必要があります。こちらを設定すると、値の依存関係で参照されるパラメーターのひとつが変更されると、必要なすべての情報を含むリクエストがサーバへ送信されることになります。

...

メンバー変数説明
protected Map<String, Object> changedValuesメンバーchangedValuesは、パラメーターと変更された値を持ちます。マップ内のキーは、トリガーされた変更イベントであるパラメーターの「プロパティ」属性である必要があります。
protected Map<String, Object> eventData

こちらのメンバーは、他のパラメーターの変更イベントをリッスンするパラメーターの「プロパティ」属性によりキーに設定されます。値は、開発者が変更イベントを受け取ったときに返信する必要があるデータです。

ビューがデータソースに依存する、データソースとビューのパラメーターを作成したとしましょう。データソースの値を1に変更した場合、changedValuesは以下のようになります。


Code Block
languagejava
themeEclipse
{
    "datasource": 1
}

そして、今回の例に基づき、eventDataは以下のようになります。


Code Block
languagejava
themeEclipse
{
    "view": objects set by the developer
}


protected List<String> events

これは、値ローダーから受け取られたすべてのイベントを保持します。

Code Block
languagejava
themeEclipse
if(events.contains("cityChanged")) {
    // do stuff
}


protected DynamicParameterOptions response動的パラメーターオプションは、ParameterValueLoaderの応答オブジェクトです。これは、開発者がフロントエンドに表示したいすべてが含まれていなくてはいけません。DynamicParameterOptionsの詳細は、以下で紹介します。

...