# astah* API 利用ガイド

## 【各DiagramEditorの概要】

1. DiagramEditor
2. トランザクション操作
3. setDiagramメソッド
4. DiagramEditor
5. BasicDiagramEditor
6. StructureDiagramEditor
7. ClassDiagramEditor
8. UseCaseDiagramEditor
9. StateMachineDiagramEditor
10. CompositeStructureDiagramEditor
11. ERDiagramEditor
12. MindmapEditor
13. MindmapDiagramEditor(非推奨)
14. RequirementDiagramEditor

各インターフェース、メソッドの詳細についてはastah* API JavaDocをご覧ください。
astah* APIの図情報の参照/作成/編集/削除機能は、astah* UML, professionalでサポートしています。

#### 【DiagramEditor】

DiagramEditorを継承する各Editorで図の作成/削除、図情報(プレゼンテーション)の作成/削除などを行います。

図名 | エディタ名 | 親エディタ | 親エディタ | 親エディタ | 親エディタ
クラス図/オブジェクト図を編集するインターフェース | ClassDiagramEditor | StructureDiagramEditor | BasicDiagramEditor | DiagramEditor | -
ユースケース図を編集するインターフェース | UseCaseDiagramEditor | StructureDiagramEditor | BasicDiagramEditor | DiagramEditor | -
ステートマシン図を編集するインターフェース | StateMachineDiagramEditor | BehaviorDiagramEditor | BasicDiagramEditor | DiagramEditor | -
合成構造図を編集するインターフェース | CompositeStructureDiagramEditor | StructureDiagramEditor | BasicDiagramEditor | DiagramEditor | -
ER図を編集するインターフェース | ERDiagramEditor | BasicDiagramEditor | DiagramEditor | - | -
マインドマップを編集するインターフェース | MindmapEditor | DiagramEditor | - | - | -
要求図を編集するインターフェース | RequirementDiagramEditor | ClassDiagramEditor | StructureDiagramEditor | BasicDiagramEditor | DiagramEditor

#### 【トランザクション操作】

図・プレゼンテーションを作成/編集/削除する場合、トランザクション操作が必要です。
TransacionManagerのbeginTransactionメソッドなどを用いて、トランザクション操作を実現できます。

#### 【setDiagramメソッド】

図・プレゼンテーションを編集/削除する場合、各DiagramEditorのメソッドを呼ぶ前に、 対象の図をsetDiagramメソッドで設定する必要があります。
対象の図が未設定の場合はInvalidEditingExceptionがスローされます。 ただし、各DiagramEditorで図を作成した場合は、その図が自動的に設定されます。

#### 【DiagramEditor】

・DiagramEditorのdelete、deleteDiagramメソッドを用いて、図をプロジェクトから削除します。
・DiagramEditorのdeletePresentationメソッドを用いて、プレゼンテーションをプロジェクトから削除します。
・DiagramEditorのcreateTextメソッドを用いて、テキストプレゼンテーションを作成します。
・DiagramEditorのcreateImageメソッドを用いて、画像プレゼンテーションを作成します。
・DiagramEditorのcreateRectメソッドを用いて、長方形プレゼンテーションを作成します。
・DiagramEditorのcreateLineメソッドを用いて、直線プレゼンテーションを作成します。

#### 【BasicDiagramEditor】

・BasicDiagramEditorのcreateNoteメソッドを用いて、ノートプレゼンテーションを作成します。
・BasicDiagramEditorのcreateNoteAnchorメソッドを用いて、ノートアンカープレゼンテーションを作成します。

#### 【StructureDiagramEditor】

・StructureDiagramEditorのcreateNodePresentationメソッドを用いて、矩形プレゼンテーション(INodePresentation)を作成します。
・StructureDiagramEditorのcreateLinkPresentationメソッドを用いて、線プレゼンテーション(ILinkPresentation)を作成します。

#### 【ClassDiagramEditor】

・ClassDiagramEditorのcreateClassDiagramメソッドを用いて、クラス図/オブジェクト図を作成します。
・ClassDiagramEditorの親インターフェースStructureDiagramEditorのcreateNodePresentationメソッドを用いて、
パッケージ・プレゼンテーション/クラス・プレゼンテーションを作成します。
・ClassDiagramEditorの親インターフェースStructureDiagramEditorのcreateLinkPresentationメソッドを用いて、
関連・プレゼンテーション/汎化・プレゼンテーション/実現・プレゼンテーション/依存・プレゼンテーション/テンプレートバインディング・プレゼンテーションなどを作成します。
・ClassDiagramEditorのcreateAssociationClassPresentationメソッドを用いて、関連クラス・プレゼンテーションを作成します。
・ClassDiagramEditorのcreateInstanceSpecificationメソッドを用いて、インスタンス仕様・プレゼンテーションを作成します。
・ClassDiagramEditorのcreateInstanceSpecificationLinkメソッドを用いて、リンク・プレゼンテーションを作成します。

#### 【UseCaseDiagramEditor】

・UseCaseDiagramEditorのcreateUseCaseDiagramメソッドを用いて、ユースケース図を作成します。
・UseCaseDiagramEditorの親インターフェースStructureDiagramEditorのcreateNodePresentationメソッドを用いて、
ユースケース・プレゼンテーションを作成します。
・UseCaseDiagramEditorの親インターフェースStructureDiagramEditorのcreateLinkPresentationメソッドを用いて、
拡張・プレゼンテーション/包含・プレゼンテーションを作成します。

#### 【StateMachineDiagramEditor】

・StateMachineDiagramEditorのcreateStatemachineDiagramメソッドを用いて、ステートマシン図を作成します。
・StateMachineDiagramEditorのcreateInitialPseudostateメソッドを用いて、開始擬似状態・プレゼンテーションを作成します。
・StateMachineDiagramEditorのcreateStateメソッドを用いて、状態・プレゼンテーションを作成します。
・StateMachineDiagramEditorのcreateFinalStateメソッドを用いて、終了状態・プレゼンテーションを作成します。
・StateMachineDiagramEditorのcreateTransitionメソッドを用いて、遷移・プレゼンテーションを作成します。
・その他プレゼンテーションもStateMachineDiagramEditorの各メソッドで各プレゼンテーションを作成します。

#### 【CompositeStructureDiagramEditor】

・CompositeStructureDiagramEditorのcreateCompositeStructureDiagramメソッドを用いて、合成構造図を作成します。
・CompositeStructureDiagramEditorのcreateStructuredClassPresentation(IElement model, Point2D location)メソッドを用いて、構造化クラス・プレゼンテーションを作成します。
・CompositeStructureDiagramEditorのcreatePortPresentation(INodePresentation partPresentation, String name, String dataType, Point2D location)メソッドを用いて、構造化クラス・パート上のポートプレゼンテーションを作成します。
・CompositeStructureDiagramEditorのcreatePortPresentation(INodePresentation partPresentation)メソッドを用いて、構造化クラス・パートの左上にポートプレゼンテーションを作成します。
・CompositeStructureDiagramEditorのcreateProvidedInterfacePresentation(INodePresentation endPresentation)メソッドを用いて、ポートまたはパートへの右側に提供インターフェースを作成します。
・CompositeStructureDiagramEditorのcreateProvidedInterfacePresentation(INodePresentation endPresentation, Point2D location)メソッドを用いて、ポートまたはパートへの提供インターフェースを作成します。
・CompositeStructureDiagramEditorのcreateProvidedInterfacePresentation(INodePresentation endPresentation, IClass interfaceModel, Point2D location)メソッドを用いて、ポートまたはパートへの提供インターフェースを作成します。
・CompositeStructureDiagramEditorのcreateRequiredInterfacePresentation(INodePresentation endPresentation)メソッドを用いて、ポートまたはパートへの右側に要求インターフェースを作成します。
・CompositeStructureDiagramEditorのcreateRequiredInterfacePresentation(INodePresentation endPresentation, Point2D location)メソッドを用いて、ポートまたはパートへの要求インターフェースを作成します。
・CompositeStructureDiagramEditorのcreateRequiredInterfacePresentation(INodePresentation endPresentation, IClass interfaceModel, Point2D location)メソッドを用いて、ポートまたはパートへの要求インターフェースを作成します。

#### 【ERDiagramEditor】(professionalのみ)

・ERDiagramEditorのcreateERDiagramメソッドを用いて、ER図を作成します。
・ERDiagramEditorのcreateNodePresentationメソッドを用いて、 エンティティ・プレゼンテーションを作成します。
・ERDiagramEditorのcreateLinkPresentationメソッドを用いて、 依存型リレーションシップ・プレゼンテーション/非依存型リレーションシップ・プレゼンテーション/サブタイプ・プレゼンテーションを作成します。

#### 【MindmapEditor】

・MindmapEditorのcreateMindmapDiagramメソッドを用いて、マインドマップを作成します。
・MindmapEditorのcreateTopicメソッドを用いて、指定されたトピックの子トピックに指定された名前のトピック・プレゼンテーションを作成します。
・MindmapEditorのmoveToメソッドを用いて、指定されたトピックの子トピックに指定されたトピックを移動できます。
・MindmapEditorのdeleteChildrenメソッドを用いて、指定トピックのすべての子トピックを削除できます。
・MindmapEditorのcreateMMLinkPresentationメソッドを用いて、トピック間リンク・プレゼンテーションを作成します。

#### 【MindmapDiagramEditor】

・astah* 6.0より非推奨(@deprecated)になりました。MindmapEditorをご利用ください。

#### 【RequirementDiagramEditor】

・RequirementDiagramEditorのcreateRequirementDiagramメソッドを用いて、要求図を作成します。
・RequirementDiagramEditorの親インターフェースStructureDiagramEditorのcreateNodePresentationメソッドを用いて、
要求・プレゼンテーション/テストケース・プレゼンテーションを作成します。
・RequirementDiagramEditorの親インターフェースStructureDiagramEditorのcreateLinkPresentationメソッドを用いて、
導出/コピー/満足/検証/洗練/トレースなどを作成します。

HOME