このサンプルには、以下に示す 3 つの変換が含まれています:
変換 |
説明 |
クラス - テキスト間 -> コンソール
|
この変換は UML クラスをソースとして受け入れ、コンソール・ビューにクラスの説明 (クラスの名前とその属性や操作、およびその操作のパラメーター) を書き込みます。
|
クラス - テキスト間 -> ファイル
|
この変換は、「クラス - テキスト間 -> コンソール」変換と同じですが、結果をコンソール・ビューではなくファイルに書き込みます。
|
状態 - JSP 間
|
この変換は、状態マシンをそのソースとして受け入れ、ScreenFlow プロファイルからのステレオタイプを持つ状態ごとに JSP ページを生成します。
|
この変換の構成方法を理解するには、変換を実行してソース・コードを調べる必要があります。 ソース・コードを読む場合には、次のガイドラインに従ってください。
-
最初に、規則を実装する Java クラスを調べます。 クラスは、名前の最後が
.rules であるパッケージ内に示されます。
-
規則のセットは、1 つ以上の変換へと結合されています。 変換は、名前の最後が
.transforms であるパッケージにある Java クラスによって実装されます。 最初に transform クラスのコードを読んでから、root transforms のコードを読むこともできます。
-
最後に、プラグインのマニフェスト・ファイル
plugin.xml および TransformationProvider クラスのコードを調べて、変換を Transformation Service に接続する方法を理解してください。
クラス - テキスト間変換
この変換は UML クラス、パッケージ、またはモデルをソースとして受け入れ、それらの名前、属性と操作、および操作のパラメーターを、コンソール・ビューまたはファイルに書き込みます。
モデルまたはパッケージをソースとして選択する場合、変換によって、そのモデルまたはパッケージに含まれるすべてのクラスの詳細が書き込まれます。
この変換には、次の 2 つのバリエーションがあります。
-
クラスからテキストへ -> コンソール: この変換は、出力をコンソール・ビューに書き込み、ターゲットを必要としません。
このサンプル変換は、以下のことを行う方法を示します。
-
単純ルールを作成し、それらを 1 つ以上の変換に結合する。
-
変換プロバイダーを作成する。
-
変換およびそのプロバイダーについて、プラグイン・マニフェスト・ファイル
plugin.xml に記述する。
- クラスからテキストへ -> ファイル: この変換は、出力をファイルに書き込むので、ターゲットとしてのプロジェクトを必要とします。 デフォルトでは、指定したプロジェクトの
ClassToTextOutput フォルダーに、class2text.txt という名前のファイルが作成されます。 変換プロパティー Target File Name を使用すると、このファイルのデフォルト名を変更できます。
このサンプル変換は、以下の追加のことを行う方法を示します。
-
変換プロパティーをプラグイン・マニフェスト・ファイル
plugin.xml に記述する。
-
規則内で変換プロパティーを操作する。
状態 - JSP 間変換
この変換は、状態マシンの UML 状態をソースとして受け入れ、Java Emitter Templates (JET) を使用した JSP ファイルの形式で Web ページを生成します。 状態マシンまたは領域をソースとして選択する場合は、変換が、状態マシンまたは適用された ScreenFlow プロファイルからのステレオタイプを持つ領域にあるそれぞれの状態に対して JSP ファイルを生成します。
このサンプル変換は、以下のことを行う方法を示します。
-
ステレオタイプおよびキーワードを使用して、規則を選択的にトリガーする。
-
JET 機能および変換を結合してテキストを生成する。
変換のためのソースとなる状態マシンを作成するには、状態マシンを含む UML モデルに ScreenFlow プロファイルを適用し、ScreenFlow プロファイルのステレオタイプをその状態に適用することで状態マシンをマークアップする必要があります。
ScreenFlow プロファイルには、4 つのステレオタイプ form 、editform 、selectlist 、および display があります。
これらのステレオタイプは、生成されたページの動的コンテンツの表示スタイルを決定します。 サンプルは、ステレオタイプを使用して、表示スタイルが編集可能なフォーム、選択可能なリストなどを表示するかどうかを決定します。 状態に複数のステレオタイプを適用すると、変換は最初のステレオタイプしか考慮しません。
サンプルは、JSP ページを介して交換されるデータの判別にもステレオタイプのプロパティーを使用します。
変換は、4 つのステレオタイプのうちの 1 つが状態に適用されている場合のみ、状態に対応する JSP ページを生成します。
JSP ファイルが既存である場合、変換は実行中にそれらを上書きしません。 変換がファイルを上書きするかどうかは、変換プロパティーの値「出力ファイルに上書き (Overwrite Output Files)」を true に設定することで変更できます。
ScreenFlow プロファイル
次の表には、ScreenFlow プロファイルのステレオタイプおよびそのプロパティーが示されています。 テーブルの値は、図示することのみを目的としたものです。
ステレオタイプ |
基本クラス |
プロパティー:値 |
説明 |
表示
<<display>> |
状態 |
エンティティー:連絡先
フィールド:名前、住所 |
生成された JSP ページが連絡先の詳細 (名前および住所) を表示することを示します。 |
編集フォーム
<<editform>> |
状態 |
エンティティー:連絡先
フィールド:名前、住所 |
生成された JSP ページに、ユーザーが連絡先の詳細を入力および編集することが可能なフォームが含まれることを示します。 |
フォーム
<<form>> |
状態 |
フィールド:ユーザー名 |
生成された JSP ページに、ユーザーの名前を入力できるフォームが含まれることを示します。 |
選択リスト
<<selectlist>> |
状態 |
エンティティー:連絡先
フィールド:名前、住所
選択フィールド:ID |
生成された JSP ページに、固有の ID で連絡を選択する際に使用可能な連絡先のリストが含まれることを示します。 |
|