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


コネクターメタデータは、抽象Java class JDBCMetaDataの実装です。これは、サードパーティ製ソースへの接続を作成するために、ユーザーへどのような接続詳細を要求する必要があるのかを定義します。これには、ユーザー名、トークン、ホスト名、ポート番号、アカウント名、などのパラメーターが含まれます。

メタデータ関数一覧


JDBCMetaData classは、データソースの接続ウィザードを構築するために使用されます。基礎的な接続ウィザードを作成するためには、以下の関数を実装しなくてはいけません。




JDBCMetaDataでは、以下のヘルパー関数にアクセスすることもできます。



メタデータ関数の定義



public JDBCMetaData(); (Constructor) 

constructorには、以下の属性を設定する必要があります。

属性

説明

sourceName データソースのテキスト名です。例:Twitter Connector
sourceCode データソースに一意のテキストコードです。例:TWITTER_CONNECTOR
driverNameデータソースのテキストclass名です。例:com.code.TwitterConnector
sourceType こちらは常に、「DBType.THIRDPARTY」と記述します。


実装例

public SkiTeamMetaData() {
 
            super();
 
            sourceName = "Ski Team Source";
            sourceCode = "SKI_DATA_SOURCE";
            driverName = SkiTeamDataSource.class.getName();
            sourceType = DBType.THIRD_PARTY;
 
}


public void initialiseParameters(); 


この関数は、パラメーターを登録する場所です。登録されたパラメーターは、このデータソースへの接続を作成する時に、ユーザーへ表示されます。必要なパラメーターを追加する時には、「addParameter()」関数を使用します。



実装例

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コードの一行で定義することができます。

パラメーター表示型の中には、ドロップダウンボックスや、ラジオボタンのように、追加のオプションを必要とするものもあります。これらは、インスタンス化後に、パラメーターオブジェクトへ追加されなくてはいけません。

例:

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()」関数を上書きすることができます。他のパラメーターの値に基づき、ロジックは一意のキーを持つパラメーターを表示する必要があるかどうかを決定することができます。


例:

public boolean isParameterRequired(String key) {
 
    if ("DOMAIN".equals(key)) {
 
        if ("SQL".equals(getParameterValue("WINDOWSAUTH"))) {
 
            return false;
 
        }
 
    }
 
    return true;
 
}


public boolean hasDependentParameters(String key); 


一意のキーを持つパラメーターが、依存パラメーターを持つ場合にtrueを返します。この関数は、このパラメーターの値の変更に基づき、他のパラメーターの可視性を更新する必要があるかどうかを決定するために使用します。







  • No labels