- 追加された行はこの色です。
- 削除された行はこの色です。
#freeze
>>[[データ取得による処理連動(バージョン0.42まで)]]
*概要 [#tcb2f4c0]
-処理モジュールの処理を,他の処理モジュールの処理結果を利用して行います
-連動要請と連動実行は,それぞれ別の処理モジュールで行います
*実装方法 [#yddab60f]
&ref(datalink.png,,35%,);
&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(database.png,,40%,);
&ref(databasenew.png,,40%,);