データセット関数一覧
コネクターデータセットは、抽象Java class AbstractDataSetの実装です。データセットを定義するためには、以下の関数を実装しなくてはいけません。
public abstract List<FilterMetaData> getFilters();
public abstract Object[][] execute(List<ColumnMetaData> columns, List<FilterData> filters);
public abstract boolean getAllowsDuplicateColumns();
public abstract boolean getAllowsAggregateColumns();
上書き可能な、その他の関数です。
データセット関数の定義
public abstract String getDataSetName();
DataSetNameをStringとして返します。これは国際化してはいけません。
public abstract List<ColumnMetaData> getColumns();
データセットで使用できるカラム(列)を定義するColumnMetaDataオブジェクトのcollectionを返します。カラム(列)は、フィルターとして使用されるように定義することもできます。
ColumnMetaDataオブジェクトは、以下のメタデータの定義が必要です。
属性 | 説明 |
---|---|
columnName | カラム(列)の名前です。これは一意であり、国際化してはいけません。ユーザーフレンドリーな名前や国際化は、Yellowfinのメタデータレベルで適用することができます。 |
columnType | カラム(列)のDataTypeです。 より詳細な情報は、付録のDataTypeを参照してください。 |
fieldType | カラム(列)のFieldTypeです。 より詳細な情報は、付録のFieldTypeを参照してください。 |
availableAggregations | AggregationTypeの配列です。このカラム(列)に適用可能な集約を定義します。 より詳細な情報は、付録のAggregationTypeを参照してください。 |
availableFilterOperators | FilterOperatorの配列です。このカラム(列)がフィルターとして使用される場合に、適用できる演算子を定義します。このカラム(列)をフィルターとして使用できない場合は、「null」に設定しなくてはいけません。 より詳細な情報は、付録のFilterOperatorを参照してください。 |
ColumnMetaDataには複数のconstructorがあり、このオブジェクトをJavaコードの一行で定義することができます。
public abstract List<FilterMetaData> getFilters();
データセットで使用できるフィルターを定義するFilterMetaDataオブジェクトのcollectionを返します。このコンテキスト内のフィルターはレポートに使用できるパラメーターであり、カラム(列)のようにデータを返すことはありません。
FilterMetaDataオブジェクトは、以下のメタデータの定義が必要です。
属性 | 説明 |
---|---|
filterName | フィルターの名前です。 これは一意であり、国際化してはいけません。ユーザーフレンドリーな名前や国際化はYellowfinのメタデータレベルで適用することができます。 |
filterType | カラム(列)のFilterTypeです。 より詳細な情報は、付録のFilterTypeを参照してください。 |
Mandatory | このフィルターが必須かどうかを定義します。このフィルターを設定することなく、このデータセットからデータを返すことはできません。 |
availableAggregations | AggregationTypeの配列です。このフィルターに適用可能な集約を定義します。現状はサポートされていません。 より詳細な情報は、付録のAggregationTypeを参照してください。 |
availableOperators | FilterOperatorの配列です。このフォルターに適用可能な演算子を定義します。 より詳細な情報は、付録のFilterOperatorを参照してください。 |
FilterMetaDataには複数のconstructorがあり、このオブジェクトをJavaコードの一行で定義することができます。
public abstract Object[][] execute(List<ColumnMetaData> columns, List<FilterData> filters);
このデータセットからの結果セットを返します。これがクエリーを処理するための主要な関数です。パラメーターカラム(列)は、クエリーのためにYellowfinから選択されるカラム(列)を指定します。パラメーターフィルターは、Yellowfinからクエリーへ割り当てられるフィルターを指定します。関数は、リクエストされたカラム(列)のコンテンツとともに、二次元オブジェクト配列を返さなくてはいけません。
パラメーターカラム(列)の型はColumnMetaDataです。これは、選択されたカラム(列)に関する情報と、これらのカラム(列)に作成された集約修飾子が含まれます。
ColumnMetaData関数「getSelectedAggregation()」は、カラム(列)に適用された集約を返します。この型は、AggregationTypeです。
パラメーターフィルターの型は、FilterDataです。これは、選択されたフィルターに関する情報と、それらに割り当てられた値が含まれています。
FilterDataには以下の属性があります。
属性 | 説明 |
---|---|
filterName | このフィルターが表すフィルター、またはカラム(列)の名前です。 |
metaData | フィルターのFilterMetaDataです。これは、getFilters()、またはフィルター適用をサポートするカラム(列)をまとめるために自動的に作成されるFilterMetaDataオブジェクト内で定義されたFilterMetaDataオブジェクトとリンクします。 |
filterValue | フィルターの値です。これは、フィルターのデータ型のデータを保持するJavaオブジェクトです。複数の値を保持するフィルターは、Java一覧内に返されます。これは、の間(〜)、の間ではない、一覧に含む、一覧に含まないを演算子に使用するフィルターのためにあります。 |
filterOperator | FilterOperator型のインスタンスです。このフィルターに適用された演算子を定義します。 |
aggregationType | AggregationOperator型のインスタンスです。このフィルターに適用された集約を定義します。 |
ThirdPartyException()投入時にエラーが発生した場合に、カスタムエラーメッセージを表示させることができます。より詳細な情報は、カスタムエラーメッセージを参照してください。
public abstract boolean getAllowsDuplicateColumns();
このデータセットが、1回以上選択された同一のカラム(列)をサポートするかどうかを返します。
trueが返された場合、データセットは必要に応じて、実行関数を介して複製されたカラム(列)を送信します。
falseに設定された場合は、各カラム(列)の単一のインスタンスのみが実行関数へ送信され、Yellowfinはデータ受領後に繰り返されるカラム(列)を複製します。
public abstract boolean getAllowsAggregateColumns();
このデータセットが集約をサポートするかどうかを返します。
falseの場合、Yellowfinはアプリケーションレベルの集約を行うことができません。Yellowfinは、データセットからデータが返された後に集約を行います。
trueの場合は、データセットはリクエストに応じて集約されたデータを返さなくてはいけません。カラム(列)は、レポート作成時にどの集約を適用することができるのかを定義することができます。これは、「getColumns()」で定義されます。
public boolean isFilterValueEnabled(String filter);
フィルター値が特定のフィルター(または、カラム(列)フィルター)へ返すことができるかどうかを定義します。trueの場合は、「getFilterValues()」を呼び出し、このフィルターの値の一覧を返します。
public List<Object> getFilterValues(String filter, HashMap<String, FilterData> appliedFilters);
「isFilterValueEnabled()」が、与えられたフィルター名にtrueを返す場合、この関数はユーザー選択で利用可能なフィルターオプションのJava一覧を返すために呼び出されます。パラメーター「appliedFilters」は、現在設定されている他のフィルターの値を保持するマップ(フィルター名によるキー)を保持します。この情報は、この関数により返される値をさらに制限するために使用することができます。