Anchor | ||||
---|---|---|---|---|
|
...
このclassは、便宜のためにオーバーロードされたコンストラクターと、各プロパティのセッターを提供します。最も記述的なコンスタクラーは、以下の通りです。
public ParameterDisplayRule(String logic, String property, Object[] vals, boolean negative, PropertyLocation location)
...
依存関係は、値依存、またはイベントを使用して設定することができます。これら両方のオプションの詳細は、以下で紹介します。
ValueDependencies
パラメーター作成時、パラメーターが依存する「ValueDependencies」の一覧を作成することができます。これらは、パネルコレクション内の他の場所に存在するパラメーターをささなくてはいけません。こちらを設定すると、値の依存関係で参照されるパラメーターのひとつが変更されると、必要なすべての情報を含むリクエストは、サーバへ送信されます。
ビューのパラメーターがあり、データソースのパラメーターに依存させることで、データソースが変更される度にビューの一覧が再読み込みされるようにします。
Code Block | ||||
---|---|---|---|---|
| ||||
datasourceParam.setProperty("datasource");
datasourceParam.setEvent("datasourceChanged");
viewParam.setProperty("view");
// Make view dependent on the data source
viewParam.addValueDependency("datasource"); |
データソースパラメーター項目の値ローダーは、dataSourceChangedイベントを受け取る度に、選択されたデータソースに利用可能なビューを配置します。返答オブジェクトはフロントエンドに送信され、Yellowfinは利用可能なビューの一覧を配置します。
イベント
イベント関数は値の依存関係に類似しており、今回の例を除き、変更するパラメーターは、どのパラメーターを再読み込みするか判断します。実際のところ、今回の例では、依存関係の方向性が反転しています。値の依存関係は、パラメーター内の変更をリッスンする「その他」のパラメーターである一方で、イベントは、そのパラメーターに使用され、「その他」のパラメーターを変更します。これは、ボタンクリックが要求s荒れる場合に、ボタンに添付されます。
イベントトリガーの作成には、以下の3つの部分があります。
イベント名:これは、パラメーターのsetEvent()メソッドを使用して設定されます。ParameterValueLoaderは、トリガーされたすべてのイベントを含む保護されたメンバーを持ちます。
イベントデータ:これは、パネルが生成される際に開発者が設定することのできるすべての追加データを参照します。例えばこれは、ステップIDやフィールドの一覧の追加を含めることができます。
イベントパラメーター:イベントパラメーターは、イベントがデータを必要とするその他のパラメーターです。地域、国、州のパラメーターがあることを考慮し、州パラメーターを変更します。値ローダーに地域と国の情報も必要な場合、これらはイベントパラメーターになります。パラメーターAPIにはイベントパラメーターを設定する数多くのメソッドがありますが、全てはValueDependentオブジェクトの一覧に追加されます。
イベントデータと、イベントパラメーター内で指定されたパラメーターの現在の値は、単一のEventDataオブジェクトに結合されます。
Code Block | ||||
---|---|---|---|---|
| ||||
cityParam.setProperty("city");
cityParam.setEvent("cityChanged");
cityParam.addEventData("fieldUUIDS", fieldUuids);
p.addEventParameter("country", new PropertyLocation("MyPanel", "addressSection"));
p.addEventParameter("region", new PropertyLocation("MyPanel", "addressSection")); |
メンバー変数
値ローダーclassは、イベントに関する情報を保持する数多くの重要メンバー変数を保持します。
メンバー変数 | 説明 | ||||||||||||||
protected Map<String, Object> changedValues | メンバーchangedValuesは、パラメーターと変更された値を持ちます。マップ内のキーは、イベント変更のトリガーになるパラメーターの「プロパティ」属性でなくてはいけません。 | ||||||||||||||
protected Map<String, Object> eventData | こちらのメンバーは、他のパラメーターのイベント変更をリッスンするパラメーターの「プロパティ」属性によりキーに設定されます。値は、開発者が変更イベントを受け取ったときに返信する必要があるデータです。 ビューがデータソースに依存する、データソースとビューのパラメーターを作成したとしましょう。データソースの値を1に変更した場合、changedValuesは以下のようになります。
そして、今回の例を元にした場合、eventDataは以下のようになります。
| ||||||||||||||
protected List<String> events | これは、値ローダーから受け取られたすべてのイベントを保持します。
| ||||||||||||||
protected DynamicParameterOptions response | 動的パラメーターオブジェクトは、ParameterValueLoaderの返答オブジェクトです。これは、開発者がフロントエンドに表示したいすべてが含まれていなくてはいけません。DynamicParameterOptionsの詳細は、以下で紹介します。 |
メソッド
実装可能なメソッドは、以下の2つです。しかし、開発者の要望に応じて、実装に必要なのは、以下のいずれか一方のみです。
マップ内の各入力では、キーはパラメーターの「プロパティ」属性出なくてはいけません。値は、「可能な」値を含む、CustomValueオブジェクトの一覧である必要があります。