30日間の無料評価版をお試しいただけます。

 

こちらは三番目のレベルで、抽象class ParameterSectionにより記述されます。classの実装は、いくつかのメソッドを上書きしなくてはならず、javadocに記述されています。APIの重要なメンバーを、以下に示します。

 

パラメーターセクションメンバー説明
public String getSectionKey()パネル内のセクションの一意の識別子を返します。
public String getName()セクションの名前です。これは、セクションの見出しとして表示されます。
public String getParameterSectionClassName()セクションに適用されるCSS classを返します。デフォルト実装はnullを返すので、これは上書きされなくてはいけません。
public List<Parameter> getParameters()パネル内のParameterSectionオブジェクトの一覧を取得するために実装するメソッドです。これは、null値を返してはいけません。

public String getDynamicKey()

public void setDynamicKey(String dynamicKey)
ヘルパーオブジェクト項目で紹介する、動的パラメーターとともに機能するために使用するメソッドです。
public GeneralPanelOptions getSectionOptions()一般オプションについては、ヘルパーオブジェクト項目で紹介します。これらのオプションは、ユーザーインターフェイスの表示方法を制御します。
public List<ParameterDisplayRule> getDisplayRules()表示ルールについては、ヘルパーオブジェクト項目で紹介します。これらは、パネルを表示すべきか、またはユーザーインプットに基づかないかを判断するために使用されます。
public Map<String, ?> getData()こちらのメソッドは、このレベルでは抽象です。実装は、パラメーターに関連するデータを含むデータオブジェクトを、このレベルに返さなくてはいけません。これは、データオブジェクトを構築するために、ParameterPanelのtoJSON()に使用されます。
protected ParameterValueLoader parameterValueLoader保護されたメンバー変数は、セクションに関連する値ローダーを含みます。これは、ユーザーが関連するパラメーターを選択した際に、パラメーターのオプション値を読み込むために使用されます。例えば、ユーザーの選択した地域に応じて、国ドロップダウンをリロードします。値ローダーの詳細は、ヘルパーオブジェクト項目で紹介します。
public JSONObject toJSON()

こちらのメソッドは、セクション内のすべてをorg.json.JSONObject (Jackson)に変換します。オブジェクトの主要属性は名前、sectionKey、parameterSectionClassName、パラメーター、displayRules、dynamicKey、generalOptionsです。

  • パラメーターは、getParameters()により返されるパラメーターインスタンスのJSONArrayを保持します。各アイテムは、JSONArrayに配置される前に、JSONObjectに変換されます。
  • displayRulesは、ParameterDisplayRuleの一覧を保持します。詳細は、ヘルパーオブジェクト項目で紹介します。
  • generalOptionsは、GeneralPanelOptionsのインスタンスを保持します。詳細は、ヘルパーオブジェクト項目で紹介します。値ローダーが設定された場合、 JSONオブジェクトは、valueLoaderClassName属性内のローダーオブジェクトのclassnameも含みます。

 

 

 

実装

Yellowfinは、データトランスフォーメーションステップで使用することができるParameterSectionの実装である、ETLStepConfigSectionが付随しています。関連する使用メソッドは、以下の通りです。

メソッド説明
public Map<String, ?> getData()こちらのセクション内のパラメーターからのデータを含む、メンバー変数データを返します。
public void setData(Map<String, ?> data)classメンバーデータを、こちらのメソッドに渡されたオブジェクトで置き換えます。
public void setMappedParameterDataObject(String key, Object value)データオブジェクトに指定されたキーと値を追加します。
public void setMappedParameterData(String key, String value)

データオブジェクトにキーと値を追加します。値がJSON Stringの場合、同等のJavaオブジェクトに変換されます。例:

  • "{key1: value1, key2: value2}"は、Map<String, Object>に変換されます。
  • "[1, 2, 3]"は、List<Object>に変換されます。
  • "true"は、Booleanに変換されます。

これは、ParameterSection class内のconvertParameterToJSON()メソッドを使用して行われます。

 

こちらの実装が使用される場合、以下の例に示すように、セクションにYellowfinの標準スタイリングを適用します。

 

ETLStepConfigSection section = new ETLStepConfigSection("SECTION_KEY", "SectionName");
section.addParameter(rowCountParam);                // Parameter containing option key ROW_COUNT_KEY
section.setMappedParameterDataObject("ROW_COUNT_KEY", rowCountInteger);