Versions Compared

Key

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

Anchor
top
top

...

GeneralPanelOptions classは、パラメーターパネルとセクションレベルで、一般的なユーザーインターフェイスの表示オプション定義するために使用します。重要なメソッドを以下に示します。

メソッド説明

public void setSaveButton(boolean saveButton)

public void setSaveButtonOptions(Map<String, Object> opts)

public void setSaveText(String saveText)

setSaveButtonオプションをtrueに設定することで、パネルやセクションに保存ボタンを表示します。表示オプションは、setSaveButtonOptionsを使用して設定することもできます。利用可能なオプションの一覧は、インプットタイプ項目のtype BUTTON配下に示されています。ボタン上のテキストは、setSaveTextを使用してカスタマイズすることができます。

public void setExpandable(boolean expandable)

public void setExpanded(boolean expandable)

これらは、セクションを展開可能にし、展開表示をするために使用します。


public void setShowName(boolean showTitle)こちらをtrueに設定した場合、パネルやセクションの名前は、コンテナのトップに表示されます。
public void setCssRules(Set<CssRule> cssRules)こちらのメソッドは、セクションやパネル、そのhtmlコンテナ内のすべてをスタイリングするカスタムCSSルールを設定するために使用します。


CSSRule

こちらのインターフェイスは、PanelCollection APIの様々なレベルのスタイリングルールを定義するために使用します。これをサポートするレベルは、CssRuleオブジェクトのセットを受け付けます。Yellowfinには、CssRulelmplという実装があり、以下のような単一のCSSルールを定義します。

...

この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}

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

...

値ローダーclassは、イベントに関する情報を保持する数多くの重要メンバー変数を持ちます。

メンバー変数説明
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の詳細は、以下で紹介します。

メソッド

実装可能なメソッドは、以下の2つです。しかし、開発者の要望に応じて、実装に必要になるのは、以下のいずれか一方のみです。両者は、ほぼ同様の目的を果たします。

メソッド説明
public void generateDynamicParameters()

こちらのメソッドは、応答メンバー変数に値を設定します。より詳細な情報は、DynamicParameterOptionsの項目を参照してください。

こちらが推奨されるメソッドであり、より柔軟性があります。

public Map<String, List<CustomValue<?>>> getUpdatedPossibleValues()

影響するすべてのパラメーターの「可能な値」のマップを返すメソッドです。マップ内の各入力では、キーはパラメーターの「プロパティ」属性である必要があります。値は、「可能な」値を含む、CustomValueオブジェクトの一覧でなくてはいけません。

こちらのメソッドは、将来的に廃止される可能性があります。

ファイルや大きなテキストを読み取るための、その他のヘルパーメソッドを以下に示します。

ヘルパーメソッド説明
public final byte[] getFile(Integer fileId)こちらのメソッドは、FileUploadParameterにより記述されたファイルの読み取りに使用することができます。イベントは、パラメーター内に設定する必要があります。FileUploaderParameterのコンストラクターを使用して設定することも可能です。ファイルがアップロードされ、Yellowfinのリポジトリデータベースに保存された後、このイベントで値ローダーがトリガーされます。これは、ファイル内のデータに基づくパラメーターを読み込み/削除をするために使用することができます。
public final String getText(Integer textId)これは、Yellowfinリポジトリデータベースに保存されているCLOBsを読み取る以外、getFileと類似しています。


DynamicParameterOptions

動的パラメーターオプションは、ParameterValueLoaderの応答オブジェクトです。これは、開発者がフロントエンドに表示したいすべてが含まれていなくてはいけません。これには、6つの項目を追加することができます。

動的パラメーターオプション説明
public void addPanel(String dynamicKey, ParameterPanel panelObject)

トリガーされたイベントのひとつが、メニューに新しいパネルの追加を要求する場合は、こちらに追加することができます。フロントエンドは、パネル定義をユーザーインターフェイスに変換します。

dynamickeyは、現在そのキーを使用している任意のオブジェクトを削除するために使用されるとともに、このパネルをキーとタグ付けすることで、将来的に削除することができます。

public void addSection(String dKey, String panelKey, ParameterSection sec)

クライアントサイドパネルコレクションの一部として既に存在するパネルにセクションを追加することができます。dKeyは動的キーであり、現在そのキーを使用している任意のオブジェクトを削除するために使用されるとともに、このセクションをキーとタグ付けすることで、将来的に削除することができます。panelKeyは、こちらのセクションに追加されるキーでなくてはいけません。

public void addParameter(String dKey, String panelKey, String secKey, Parameter parameter)

既存のセクション/パネルの組み合わせにパラメーターを追加することができます。dKeyは動的キーであり、現在そのキーを使用している任意のオブジェクトを削除するために使用されるとともに、このパラメーターをキーとタグ付けすることで、将来的に削除することができます。panelKeyとsecKeyは、こちらのパラメーターに追加するパネルとセクションのキーでなくてはいけません。

public void addValue(String property, CustomValue<?> value)

ユーザーが選択することのできる単一のオプションを、DynamicParameterOptionsに追加します。プロパティは、値を表示するパラメーターに対応します。

public void setValues(Map<String, List<CustomValue<?>>)

DynamicParameterOptionsに現在設定されている値を上書きます。

public void addKeyToRemove(String key)

クライアントサイドパネルコレクションから削除するために、パラメーター/セクション/パネルのキーを追加します。対応するメソッドを使用して追加された任意のパラメーター、セクション、パネルは、削除されるキーも追加します。


FiledObject

フィールドを表すclassです。このclassのインスタンスは、フィールドのマッチングのために、ユーザーインターフェイスウィジェットで使用されます。

...