...
メタデータ関数の定義
public JDBCMetaData(); (Constructor)
constructorには、以下の属性を設定する必要があります。
属性 | 説明 |
sourceName | データソースのテキスト名です。例:Twitter Connector |
sourceCode | データソースに一意のテキストコードです。例:TWITTER_CONNECTOR |
driverName | データソースのテキストclass名です。例:com.code.TwitterConnector |
sourceType | こちらは常に、「DBType.THIRDPARTY」と記述します。 |
実装例
Code Block | ||
---|---|---|
| ||
public SkiTeamMetaData() {
super();
sourceName = "Ski Team Source";
sourceCode = "SKI_DATA_SOURCE";
driverName = SkiTeamDataSource.class.getName();
sourceType = DBType.THIRD_PARTY;
} |
public void initialiseParameters();
この関数は、パラメーターを登録する場所です。登録されたパラメーターは、このデータソースへの接続を作成する時に、ユーザーへ表示されます。必要なパラメーターを追加する時には、「addParameter()」関数を使用します。
実装例
Code Block | ||
---|---|---|
| ||
public void initialiseParameters() {
super.initialiseParameters();
addParameter(new Parameter("HELP", "Connection Details", "Text", TYPE_NUMERIC, DISPLAY_STATIC_TEXT, null, true));
Parameter p = new Parameter("URL", "1. Request Access PIN", "Connect to twitter to receive a PIN for data access",TYPE_UNKNOWN, DISPLAY_URLBUTTON, null, true);
p.addOption("BUTTONTEXT", "Request URL");
p.addOption("BUTTONURL", "http://google.com");
addParameter(p);
addParameter(new Parameter("PIN", "2. Enter PIN", "Enter the PIN recieved from Twitter", TYPE_NUMERIC, DISPLAY_TEXT_MED, null, true));
p = new Parameter("POSTPIN", "3. Validate Pin", "Validate the PIN", TYPE_TEXT, DISPLAY_BUTTON, null, true);
p.addOption("BUTTONTEXT", "Validate PIN");
addParameter(p);
addParameter(new Parameter("ACCESSTOKEN", "Access Token", "AccessToken that allows access to the Twitter API", TYPE_TEXT, DISPLAY_PASSWORD, null, true));
addParameter(new Parameter("ACCESSTOKENSECRET", "Access Token Secret", "AccessToken Password that allows access to the Twitter API", TYPE_TEXT, DISPLAY_PASSWORD, null, true));
} |
protected final void addParameter(Parameter p);
パラメーターオブジェクトには、以下のメタデータの定義が必要です。
属性 | 説明 |
uniqueKey | このパラメーターのテキストユニークキーです。 |
displayName | テキストの説明です。これは、国際化することができます。 |
description | パラメーターの説明です。これは、国際化することができます。 |
defaultValue | このパラメータのデフォルト値として割り当てられるオブジェクトです。 |
displayType | このパラメーターの表示型です。 より詳細な情報は、付録内のDisplayTypeを参照してください。 |
dataType | このパラメーターのデータ型です。 より詳細な情報は、付録内のパラメーターDataTypeを参照してください。 |
Classパラメーターには複数のconstructorがあり、このオブジェクトをJavaコードの一行で定義することができます。
パラメーター表示型の中には、ドロップダウンボックスや、ラジオボタンのように、追加のオプションを必要とするものもあります。これらは、インスタンス化後に、パラメーターオブジェクトへ追加されなくてはいけません。
例:
Code Block | ||
---|---|---|
| ||
Parameter p = new Parameter("URL", " Access PIN", "Connect to twitter to receive a PIN for data access",TYPE_UNKNOWN, DISPLAY_URLBUTTON, null, true);
p.addOption("BUTTONTEXT", "Request URL");
p.addOption("BUTTONURL", "http://google.com");
addParameter(p); |
public String buttonPressed(String buttonName) throws Exception;
これは、ボタンUI要素のコールバックです。このbuttonNameという関数パラメーターは、コールバック関数と呼ばれるボタンのユニークキーを保持します。
ボタンコールバックは、プログラムに従い、他のパラメーターの値の変更に使用されます。パラメーターは、setParameterValue(String key, String value)とともに設定されます。
public void setParameterValue(String key, Object value);
パラメーターの値を設定します。関数パラメーターキーは、設定するパラメーターの一意のキーであり、値はそれに割り当てる値です。
public final Object getParameterValue(String key);
パラメーターの値を取得します。関数パラメーターキーは、フェッチするパラメーター値の一意のキーです。
public boolean isParameterRequired(String key);
依存フィルターを実装するためには、「isParameterRequired()」関数を上書きすることができます。他のパラメーターの値に基づき、ロジックは一意のキーを持つパラメーターを表示する必要があるかどうかを決定することができます。
例:
Code Block | ||
---|---|---|
| ||
public boolean isParameterRequired(String key) {
if ("DOMAIN".equals(key)) {
if ("SQL".equals(getParameterValue("WINDOWSAUTH"))) {
return false;
}
}
return true;
} |
public boolean hasDependentParameters(String key);
一意のキーを持つパラメーターが、依存パラメーターを持つ場合にtrueを返します。この関数は、このパラメーターの値の変更に基づき、他のパラメーターの可視性を更新する必要があるかどうかを決定するために使用します。
...
Column | ||
---|---|---|
| ||
前項:コネクターの前提条件 |
...
width | 30% |
---|
Column | ||
---|---|---|
| ||
後項:データソースの定義 |