>>[[データ取得による処理連動(バージョン0.42まで)]]

*概要 [#tcb2f4c0]

-処理モジュールの処理を,他の処理モジュールの処理結果を利用して行います
-連動要請と連動実行は,それぞれ別の処理モジュールで行います

*実装方法 [#yddab60f]

&ref(datalinknew.png,,45%,);
&ref(datalinknew.png,,40%,);

**連動要請(処理モジュール) [#y7d78e05]
+処理結果を取得したい処理モジュールの moduleID 並びに,取得したいデータの dataID を調べます
+処理モジュール内で,スーパークラスで用意されている,取得したいデータの型に応じたメソッドを呼び出します

    boolean getDataBoolean(int getModuleID, int dataID);
    int getDataInteger( int getModuleID, int dataID );
    double getDataDouble( int getModuleID, int dataID );
    String getDataString( int getModuleID, int dataID );
    boolean[] getDataBooleanArray(int getModuleID, int dataID);
    int[] getDataIntegerArray( int getModuleID, int dataID );
    double[] getDataDoubleArray( int getModuleID, int dataID );
    String[] getDataStringArray( int getModuleID, int dataID );
    boolean[][] getDataBooleanArray2(int getModuleID, int dataID);
    int[][] getDataIntegerArray2(int getModuleID, int dataID);
    double[][] getDataDoubleArray2(int getModuleID, int dataID);

-オプションやフォーカス情報による連動実行の際に,過去の実行結果ではなく,最新のデータを生成して利用する場合,以下のメソッドを呼び出します
--&color(red){他のモジュールからの連動対象(フォーカス連動やオプションによる連動)となる可能性があり,連動対象となったときに getData** で呼び出しているモジュールが先に実行されず,データが更新されない場合,以下のメソッドを利用して下さい.};

    boolean getNewDataBoolean(int getModuleID, int dataID);
    int getNewDataInteger( int getModuleID, int dataID );
    double getNewDataDouble( int getModuleID, int dataID );
    String getNewDataString( int getModuleID, int dataID );
    boolean[] getNewDataBooleanArray(int getModuleID, int dataID);
    int[] getNewDataIntegerArray( int getModuleID, int dataID );
    double[] getNewDataDoubleArray( int getModuleID, int dataID );
    String[] getNewDataStringArray( int getModuleID, int dataID );
    boolean[][] getNewDataBooleanArray2(int getModuleID, int dataID);
    int[][] getNewDataIntegerArray2(int getModuleID, int dataID)
    double[][] getNewDataDoubleArray2(int getModuleID, int dataID)

**連動実行(処理モジュール) [#f1c6891e]

-処理モジュールにおいて,実装必須のメソッド miningOperations( optionNumber ) 内の,既存の case 文の処理によって,取得したいデータ型の dataIDの処理結果が生成される場合,実装の必要はありません
-新たな処理を追加してデータを生成する場合は,メソッド miningOperations( optionNumber ) 内において,dataID の処理結果を,setData*** メソッドにより作成してください

    void setDataBoolean(int dataID, boolean data);
    void setDataInteger(int dataID, int data);
    void setDataDouble(int dataID, double data);
    void setDataString(int dataID, String data);
    void setDataBooleanArray(int dataID, boolean data[]);
    void setDataIntegerArray(int dataID, int data[]);
    void setDataDoubleArray(int dataID, double data[]);
    void setDataStringArray(int dataID, String data[]);
    void setDataBooleanArray2(int dataID, boolean data[][]);
    void setDataIntegerArray2(int dataID, int data[][]);
    void setDataDoubleArray2(int dataID, double data[][]);

-&color(red){[注意点]}; setData***( dataID, **) は,miningOperations 内で,case 0: または case dataID: 内で実行されるように記述して下さい.
-&color(red){[注意点]}; 同じ dataID をもつ,異なるデータ型のデータを生成することも可能です.ただし,同じ dataID をもつデータの生成は,同一の case 文の中に記述して下さい.

*データ取得による処理連動の処理フロー [#sef6a8ee]

&ref(databasenew.png,,40%,);

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS