converter
Javaへの変換
Javaコンバータは、TPRスクリプト(.tpr)を Javaスクリプト (.java)に変換します。これは、TPRスクリプト形式から純粋なJavaへの移行を容易にすることを目的としています。また、TPR形式でサポートされていない特殊な機能が必要な場合など、TPRコードの一部をJavaに変換し、インクルード/実行コマンド呼び出しを使用して、生成されたJavaコードをTPRスクリプトに再組み込みすることも可能です。変換を実行するには、TPRスクリプトを開き、以下のいずれかの操作を実行します:g actions:
スクリプトエディタ内のTPRコードを右クリックし、コンテキストメニューからJavaにエクスポートを選択します。
スクリプトファイル名を表示しているスクリプトエディタタブを右クリックし、コンテキストメニューからJavaにエクスポートを選択します。
Ctrl+Jを押すか、メインウィンドウのメニューからファイル->Javaにエクスポートを選択してください。
変換プロセスはJavaコンバータ ウィンドウを開きます:

最初の画面ではTPRスクリプトのソースを特定します。現在のスクリプトエディタの内容(未保存のコード変更が含まれる場合あり)とスクリプトファイルのいずれかを選択できます。

2番目の画面では、ターゲットとなるJavaクラスを特定します。
ターゲットパスフィールドは、Javaソースコードのターゲット場所を定義します。デフォルトでは、スクリプトが属するプロジェクトのJavaソース場所(<project_home>/src)に設定されています。T-Plan Robot のプロジェクトサポートを最大限に活用するため、この設定を変更しないことを推奨します。
クラス名フィールドには、ターゲットとなるJavaクラスの名前を指定します。名前は文字で始まり、英字(US/ASCII)と数字のみで構成される必要があります。大文字で始まるのが一般的な慣習です。
このフィールドには、デフォルトでソーススクリプトファイル名から派生したクラス名が設定されます。他のスクリプトから参照される際のクラス識別をサポートするため、この名前を維持することを推奨します。詳細は3番目の画面説明を参照してください。パッケージフィールドは、ターゲットとなるJavaパッケージ名を定義します。パッケージは、1つ以上のドット(ピリオド)で区切られた、英数字からなる名前で構成されます。ファイルの観点では、パッケージ名はターゲットパス下のサブディレクトリに変換されます。
このフィールドを空のままにして、生成されたJavaクラスを直接ターゲットパスに配置することも可能ですが(いわゆる「デフォルトパッケージ」)、このディレクトリ外にある他のクラスからファイルを参照できなくなるため推奨されません。これはJavaの制限事項です。相互に呼び出し合う複数のスクリプトを変換する場合は、それらを同一パッケージ内に保持することを推奨します。これにより、Include/Run参照の自動スクリプトマッピングがサポートされます。ターゲットファイルフィールドには、ターゲットとなるJavaクラスファイルの完全なパスが表示されます。右側のボタンでは、上書きする既存のJavaクラスを任意で選択できます(これによりクラス名およびパッケージフィールドが更新されます)。
最下部の警告フィールドはデフォルトでは非表示であり、警告および/またはエラーを表示します。

3番目の画面は依存関係を扱います。依存関係とは、変換されたスクリプトがInclude/Runコマンドを通じて呼び出す別のスクリプトを指します。この画面は、少なくとも1つの依存関係が存在する場合にのみ表示されます。
依存関係テーブルは、直接依存関係と間接依存関係のリストを表示します。直接依存関係とは、変換されたスクリプトが別のスクリプトを呼び出すことを意味します。間接依存関係とは、変換されたスクリプトが別のスクリプトを呼び出し、そのスクリプトがさらに別のスクリプトを参照する(以下同様)ことを意味します。
テーブル下部の依存関係コントロールは、現在選択されている依存関係に対して機能します:ファイルフィールドは読み取り専用であり、依存関係ファイル名を表示します。
アクションドロップダウンとクラス名フィールドにより、2つのモードを設定できます:
「新しいJavaクラスに変換」オプションを選択すると、コンバータは依存関係をクラス名フィールドで指定された新しいJavaクラスに変換します。このフィールドにはデフォルトで、依存関係スクリプトファイル名から派生したクラス名が入力されます。このオプションは、依存関係がまだ変換されていない場合に適しています。
「既存のJavaクラスへのマッピング」オプションは、依存関係を指定されたJavaクラスにマッピングします。このモードは、依存関係が既にJavaに変換されている場合、または依存関係がT-Plan Robot のクラスパス上で事前コンパイル済みのJARファイル形式で提供されている場合に一般的に使用されます。
ウィザードはデフォルトで、対象パスを既に変換済みのスクリプトを検索し、それに応じてテーブルを埋めます。マッピングは以下の条件下で成功します:
スクリプトクラスのソースコード(.javaファイル)はターゲットパス内に存在する(デフォルト/ルートパッケージを除く任意のパッケージ)。
スクリプトクラスは正常にコンパイル可能です(構文エラーを含みません)。
スクリプトクラスには、コンバータによって生成される有効なClassInfoアノテーションが含まれています。これにはソースTPRスクリプト(ファイルパス、変換時のCRCチェックサム)およびコンバータ(バージョン)に関する情報が含まれます。これらのアノテーションは変換目的のみに使用され、変換完了後にスクリプトから任意で削除することが可能です。scripts after the conversion is finished.
コンバータが既存の依存関係のマッピングに失敗した場合、または依存関係が別の形式(例:アプリケーションのクラスパス上のスタンドアロンJARファイルとして)で組み込まれている場合、完全修飾Javaクラス名(<パッケージ>.<クラス名>)を「クラス名」フィールドに手動で入力してマッピングを提供する必要があります。
エラーフィールドには、選択したオプションで検出されたエラーが表示されます。最も一般的なエラーメッセージ:
選択されたアクション | メッセージ断片 | 推奨手順 |
|---|---|---|
新しいJavaクラスに変換する | 対象の Java ファイル ... が存在し、上書きされます | 依存関係変換により既存のJavaファイルが上書きされる可能性があることをお知らせします。 |
既存のJavaクラスへのマッピング | [...]ファイルは変換後に変更されたようです... | TPRスクリプトはJavaへの変換後に変更されており、Java版は古いバージョンであると想定されます。TPRスクリプトのコードに一切変更を加えていないと確信している場合は、この警告を無視しても問題ありません。そうでない場合は、リセットすることを推奨します。アクション フィールドから 「新しいJavaクラスに変換する」依存関係の再変換を強制します。 |
複数のJavaクラスがあります... | この警告は、ソースTPRスクリプトが複数回にわたり変換され、2つ以上の異なるJavaクラスが生成されたことを通知します。自動マッパーはCRC一致とJavaクラスファイルの修正時刻スタンプに基づき、最適なクラスを選択します。プロセスを中止し、正しいクラスを除く重複クラスをすべて削除した上で、変換プロセスを再開することを推奨します。 | |
[...]クラスは存在しないか、インスタンス化できません。 | クラスは クラス名フィールドが利用できないか、構文エラーのためコンパイルできない.java形式で利用可能です。変換プロセスをキャンセルし、クラスを修正(.javaとして存在する場合は)するか、クラスを含むJARをT-Plan Robot のクラスパスに配置することを推奨します(アドオンとして提供される外部スクリプトの場合)。 |


4番目の画面は確認画面です。生成されたJavaクラス(複数可)をスクリプトエディタで開くためのオプションが1つか2つ用意されています。変換プロセスを開始するには次へを選択してください。
最後の画面には変換の進捗状況と結果が表示されます。ソースTPRファイルまたは依存関係の処理が何らかの理由で失敗した場合、このウィンドウには解決方法に関する指示が表示されます。
典型的な失敗シナリオとしては、スクリプト(またはその依存関係の一部)が.javaに変換されるものの、構文エラーによりコンパイルに失敗する場合が挙げられます。これは、TPRスクリプトの構造の一部がJavaに変換できないことに起因します。一般的な手順としては、生成されたJavaコードを手動で修正し、計画された全ファイルの変換が完了していない場合に限り、変換プロセスを繰り返します。既知の制限事項の一部を以下に示します:
正規表現は、中括弧('{}')の曖昧性により正しく変換されない場合があります。TPR言語では、中括弧は変数呼び出し(変数が存在する場合)または通常の文字(中括弧で囲まれた式が既存の変数に対応しない場合)として使用されます。