Skip to end of metadata
Go to start of metadata

You are viewing an old version of this content. View the current version.

Compare with Current View Version History

« Previous Version 2 Next »

データセット関数一覧

コネクターデータセットは、抽象Java class AbstractDataSetの実装です。データセットを定義するためには、以下の関数を実装しなくてはいけません。

public abstract String getDataSetName(); 

public abstract List<ColumnMetaData> getColumns(); 

public abstract List<FilterMetaData> getFilters(); 

public abstract Object[][] execute(List<ColumnMetaData> columns, List<FilterData> filters); 

public abstract boolean getAllowsDuplicateColumns(); 

public abstract boolean getAllowsAggregateColumns(); 


 

上書き可能なその他の関数です。

public boolean isFilterValueEnabled(String filter); 

public List<Object> getFilterValues(String filter, HashMap<String, FilterData> appliedFilters); 

 

 

データセット関数の定義

public abstract String getDataSetName(); 

DataSetNameをStringとして返します。これは国際化してはいけません。

 

public abstract List<ColumnMetaData> getColumns(); 

このデータセットで使用できるカラム(列)を定義するColumnMetaDataオブジェクトのcollectionを返します。カラム(列)は、フィルターとして使用するように定義することもできます。

ColumnMetaDataオブジェクトは、以下のメタデータの定義が必要です。

属性

説明

columnName 

カラム(列)の名前です。これは一意であり、国際化してはいけません。ユーザーフレンドリーな名前や国際化はYellowfinのメタデータレベルで適用することができます。

columnType 

カラム(列)のデータ型です。

より詳細な情報は、付録のデータ型を参照してください。

fieldType 

カラム(列)のフィールド型です。

より詳細な情報は、付録のフィールド型を参照してください。

availableAggregations 

集約型の配列です。これは、このカラム(列)に適用可能な集約を定義します。

より詳細な情報は、付録の集約型を参照してください。

availableFilterOperators 

フィルター演算子の配列です。これは、このカラム(列)がフィルターとして使用される場合に、適用できる演算子を定義します。このカラム(列)をフィルターとして使用できない場合は、「null」に設定しなくてはいけません。

より詳細な情報は、付録のフィルター演算子を参照してください。

ColumnMetaDataには複数のconstructorがあり、このオブジェクトをJavaコードの一行で定義することができます。

 

public abstract List<FilterMetaData> getFilters(); 

このデータセットで使用できるフィルターを定義するFilterMetaDataオブジェクトのcollectionを返します。このコンテキスト内のフィルターはレポートにしようできるパラメーターであり、カラム(列)のようにデータを返すことはありません。

FilterMetaDataオブジェクトは、以下のメタデータの定義が必要です。

属性

説明

filterName 

フィルターの名前です。 これは一意であり、国際化してはいけません。ユーザーフレンドリーな名前や国際化はYellowfinのメタデータレベルで適用することができます。

filterType 

カラム(列)のフィルター型です。

より詳細な情報は、付録のフィールド型を参照してください。

Mandatory 

このフィルターが必須かどうかを定義します。このフィルターを設定することなくこのデータセットからデータを返すことはできません。

availableAggregations 

集約型の配列です。これは、このフィルターに適用可能な集約を定義します。現状はサポートされていません。

より詳細な情報は、付録の集約型を参照してください。

availableOperators 

フィルター演算子です。これは、このフォルターに適用可能な演算子を定義します。

より詳細な情報は、付録のフィルター演算子を参照してください。

FilterMetaDataには複数のconstructorがあり、このオブジェクトをJavaコードの一行で定義することができます。

 

public abstract Object[][] execute(List<ColumnMetaData> columns, List<FilterData> filters); 

このデータセットからの結果セットを返します。これがクエリーを処理するための主要な関数です。パラメーターカラム(列)は、クエリーのためにYellowfinから選択されるカラム(列)を指定します。パラメーターフィルターは、Yellowfinからクエリーへ割り当てられるフィルターを指定します。関数は、リクエストされたカラム(列)のコンテンツとともに、二次元オブジェクト配列を返さなくてはいけません。

パラメーターカラム(列)の型はColumnMetaDataです。これは、選択されたカラム(列)に関する情報と、これらのカラム(列)に作成された集約修飾子が含まれます。

ColumnMetaData関数getSelectedAggregation()は、カラム(列)に適用された集約を返します。この型は、集約型です。

パラメーターフィルターの型は、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); 

FilterValueEnabled()が、与えられたフィルター名にtrueを返す場合、この関数はユーザー選択で利用可能なフィルターオプションのJava一覧を返すために呼び出されます。パラメーターappliedFiltersは、現在設定されている他のフィルターの値を保持するマップ(フィルター名によるキー)を保持します。この情報は、この関数により返される値にさらに制限するために使用することができます。

 

 

 

 

後項:コネクターのパッケージ化

 

  • No labels