com.change_vision.jude.api.inf.project
インタフェース ProjectAccessor

com.change_vision.jude.api.inf.project.ProjectAccessor

public ProjectAccessor

astah*プロジェクトを操作するインタフェース。


フィールドの概要
static int REFERENCE_PROJECT_STATUS_LATEST
           
static int REFERENCE_PROJECT_STATUS_NEED_UPDATE
           
static int REFERENCE_PROJECT_STATUS_NOT_FOUND
           
 
メソッドの概要
abstract  void addEntityEditListener(EntityEditListener listener)
          モデル編集リスナを追加します。
abstract  void addProjectEventListener(ProjectEventListener listener)
          プロジェクトイベントリスナを追加します。
abstract  void addReferenceProject(String path)
          astah*プロジェクトに参照プロジェクトを追加します。
abstract  void changeReferenceProject(String fromPath, String toPath)
          astah*プロジェクトの指定した参照プロジェクトのパスを変更します。
abstract  void clearReferenceProject(String path)
          astah*プロジェクトの指定した参照プロジェクトを解除します。
abstract  void close()
          astah*プロジェクトを閉じます。
abstract  void create(String projectPath, boolean useDefinedTaggedValues)
          astah*プロジェクトを作成します。
abstract  void create()
          astah*プロジェクトを作成します。
abstract  void create(String projectPath, String templatePath)
          astah*プロジェクトを作成します。
abstract  void create(String projectPath, String templatePath, boolean useDefinedTaggedValues)
          astah*プロジェクトを作成します。
abstract  void create(String projectPath)
          astah*プロジェクトを作成します。
abstract  void easyCompare(String path)
          カレントプロジェクトに指定したプロジェクトの簡易比較を行います。
abstract  void easyMerge(String path, boolean isKeepBase)
          カレントプロジェクトに指定したプロジェクトの簡単マージを行います。
abstract  void exportXMI(String fileName)
          astah*プロジェクトをXMI形式で保存します。
abstract  INamedElement[] findElements(Class elementKind, String name)
          要素の種類と名前で要素を検索します。
abstract  INamedElement[] findElements(ModelFinder picker)
          ModelFinderで要素を検索します。
abstract  INamedElement[] findElements(Class elementKind)
          要素の種類で要素を検索します。
abstract  int getAstahAPIModelVersion()
          astah*APIがモデルを保存する場合のモデルバージョンを取得します。
abstract  String getAstahAPIVersion()
          astah*APIのバージョンを取得します。
abstract  String getAstahEdition()
          astah*本体のエディションを取得します。
abstract  String getAstahInstallPath()
          インストールされたastah*の場所を取得します。
abstract  int getAstahModelVersion()
          astah*本体がモデルを保存する場合のモデルバージョンを取得します。
abstract  String getAstahVersion()
          astah*本体のバージョンを取得します。
abstract  IDiagramEditorFactory getDiagramEditorFactory()
          DiagramEditorを作成するオブジェクトを返します。
abstract  IEntity getEntity(String id)
          指定IDを持つIEntityを返します。
abstract  IModelEditorFactory getModelEditorFactory()
          ModelEditorを作成するオブジェクトを返します。
abstract  IModel getProject()
          プロジェクトの起点となるモデルを取得します。
abstract  String getProjectPath()
          現在開いているastah*プロジェクトの保存場所を取得します。
abstract  String[] getReferenceProjectPaths()
          astah*プロジェクトの参照プロジェクトのパスを取得します。
abstract  int getReferenceProjectStatus(String path)
          astah*プロジェクトの指定した参照プロジェクトの状態を取得します。
abstract  ITransactionManager getTransactionManager()
          トランザクションを管理するオブジェクトを返します。
abstract  IViewManager getViewManager()
          ビューを管理するオブジェクトを返します。
abstract  boolean hasProject()
          プロジェクトが開かれているかどうかを取得します。
abstract  boolean hasSameElement(String name, Class clazz)
          プロジェクト中に同名かつ同じ型のElementがあるかを返します。
abstract  boolean hasSameElement(String name)
          プロジェクト中に同名Elementがあるかを返します。
abstract  void importXMI(String projectName)
          astah*プロジェクトのXMIを開きます。
abstract  void importXMI(String projectName, boolean isIgnoreModelVersion)
          astah*プロジェクトのXMIを開きます。
abstract  boolean isProjectModified()
          現在開いているプロジェクトが編集状態かを返します。
abstract  void open(String projectName, boolean isIgnoreModelVersion)
          astah*プロジェクトを開きます。
abstract  void open(InputStream in)
          astah*プロジェクトを開きます。
abstract  void open(String projectName, boolean isIgnoreModelVersion, boolean lockMode, boolean allowReadOnly)
          astah*プロジェクトを開きます。
abstract  void open(String projectName)
          astah*プロジェクトを開きます。
abstract  void removeEntityEditListener(EntityEditListener listener)
          モデル編集リスナを削除します。
abstract  void removeProjectEventListener(ProjectEventListener listener)
          プロジェクトイベントリスナを削除します。
abstract  void removeReferenceProject(String path)
          astah*プロジェクトに参照プロジェクトを削除します。
abstract  void save()
          astah*プロジェクトを保存します。
abstract  void saveAs(String projectName)
          astah*プロジェクトを指定名で保存します。
abstract  void updateReferenceProject(String path)
          astah*プロジェクトの指定した参照プロジェクトを更新します。
abstract  void validateProject()
          astah*プロジェクトの不正モデルを確認します。
 

フィールドの詳細

REFERENCE_PROJECT_STATUS_LATEST

static final int REFERENCE_PROJECT_STATUS_LATEST

REFERENCE_PROJECT_STATUS_NEED_UPDATE

static final int REFERENCE_PROJECT_STATUS_NEED_UPDATE

REFERENCE_PROJECT_STATUS_NOT_FOUND

static final int REFERENCE_PROJECT_STATUS_NOT_FOUND
メソッドの詳細

getDiagramEditorFactory

abstract IDiagramEditorFactory getDiagramEditorFactory()
DiagramEditorを作成するオブジェクトを返します。

戻り値:
DiagramEditorを作成するオブジェクト

getModelEditorFactory

abstract IModelEditorFactory getModelEditorFactory()
ModelEditorを作成するオブジェクトを返します。

戻り値:
ModelEditorを作成するオブジェクト

getViewManager

abstract IViewManager getViewManager()
ビューを管理するオブジェクトを返します。

戻り値:
ビューを管理するオブジェクト
例外:
InvalidUsingException - 例外が発生した場合

getTransactionManager

abstract ITransactionManager getTransactionManager()
トランザクションを管理するオブジェクトを返します。

戻り値:
トランザクションを管理するオブジェクト

findElements

abstract INamedElement[] findElements(Class elementKind,
                                      String name)
要素の種類と名前で要素を検索します。 ITopicPresentationなどのプレゼンテーションは検索対象となりません。

パラメータ:
elementKind - 要素の種類。APIのクラス名で要素の種類を表します。例:クラスの場合、IClassを指定します。
name - 要素の名前。名前をnullまたは""で指定した場合、要素の種類で検索します。
戻り値:
INamedElement[] 取得される要素は順不同です。
例外:
ProjectNotFoundException - プロジェクトが存在しません

create

abstract void create(String projectPath,
                     boolean useDefinedTaggedValues)
astah*プロジェクトを作成します。

パラメータ:
projectPath - プロジェクトのパス(ファイル名も含む)
useDefinedTaggedValues - ユーザー定義タグ付き値の読み込みの指定
例外:
IOException - 入出力エラーです

hasSameElement

abstract boolean hasSameElement(String name,
                                Class clazz)
プロジェクト中に同名かつ同じ型のElementがあるかを返します。

パラメータ:
name - 検索するElementの名前
clazz - 検索するElementのクラス
戻り値:
true 同名Elementあり / false 同名Elementなし
導入されたバージョン:
6.7.0

open

abstract void open(String projectName,
                   boolean isIgnoreModelVersion)
astah*プロジェクトを開きます。

パラメータ:
projectName - プロジェクト名
isIgnoreModelVersion - モデルバージョンチェックの有無を指定します
例外:
LicenseNotFoundException - ライセンスが見つかりません
ProjectNotFoundException - プロジェクトが見つかりません
NonCompatibleException - モデルバージョンが古い(プロジェクトを最後に編集したastah*よりもAPIのバージョンが古い)です
ClassNotFoundException - 読み込めないモデルがあります
IOException - 入出力エラーです
ProjectLockedException - プロジェクトファイルがロックされています

create

abstract void create()
astah*プロジェクトを作成します。 saveAs()する時に、プロジェクトのパスを指定する必要があります。 (ユーザー定義タグ付き値は読み込みません。)

例外:
IOException - 入出力エラーです input/output error
導入されたバージョン:
6.6

create

abstract void create(String projectPath,
                     String templatePath)
astah*プロジェクトを作成します。(ユーザー定義タグ付き値は読み込みません。)

パラメータ:
projectPath - プロジェクトのパス(ファイル名も含む)
templatePath - テンプレートのパス(ファイル名も含む)
例外:
IOException - 入出力エラーです
ProjectNotFoundException - プロジェクトが見つかりません

create

abstract void create(String projectPath,
                     String templatePath,
                     boolean useDefinedTaggedValues)
astah*プロジェクトを作成します。

パラメータ:
projectPath - プロジェクトのパス(ファイル名も含む)
templatePath - テンプレートのパス(ファイル名も含む)
useDefinedTaggedValues - ユーザー定義タグ付き値の読み込みの指定
例外:
IOException - 入出力エラーです
ProjectNotFoundException - プロジェクトが見つかりません

create

abstract void create(String projectPath)
astah*プロジェクトを作成します。(ユーザー定義タグ付き値は読み込みません。)

パラメータ:
projectPath - プロジェクトのパス(ファイル名も含む)
例外:
IOException - 入出力エラーです

open

abstract void open(InputStream in)
astah*プロジェクトを開きます。

パラメータ:
in - 入力ストリーム
例外:
LicenseNotFoundException - ライセンスが見つかりません
ProjectNotFoundException - プロジェクトが見つかりません
NonCompatibleException - モデルバージョンが古い(プロジェクトを最後に編集したastah*よりもAPIのバージョンが古い)です
ClassNotFoundException - 読み込めないモデルがあります
IOException - 入出力エラーです
ProjectLockedException - プロジェクトファイルがロックされています

save

abstract void save()
astah*プロジェクトを保存します。

例外:
LicenseNotFoundException - ライセンスが見つかりません
ProjectNotFoundException - プロジェクトが見つかりません
IOException - 入出力エラーです
ProjectLockedException - プロジェクトがロックされています

saveAs

abstract void saveAs(String projectName)
astah*プロジェクトを指定名で保存します。 引数が相対パスの場合は、カレントディレクトリに保存します。

パラメータ:
fileName - ファイル名
例外:
LicenseNotFoundException - ライセンスが見つかりません
ProjectNotFoundException - プロジェクトが見つかりません
IOException - 入出力エラーです
ProjectLockedException - プロジェクトファイルがロックされています

close

abstract void close()
astah*プロジェクトを閉じます。


isProjectModified

abstract boolean isProjectModified()
現在開いているプロジェクトが編集状態かを返します。

戻り値:
true 編集状態 / false 未編集状態
導入されたバージョン:
6.6.4

hasProject

abstract boolean hasProject()
プロジェクトが開かれているかどうかを取得します。

戻り値:
プロジェクトが開かれていればtrue。

getProject

abstract IModel getProject()
プロジェクトの起点となるモデルを取得します。

戻り値:
モデル

getProjectPath

abstract String getProjectPath()
現在開いているastah*プロジェクトの保存場所を取得します。

戻り値:
astah*本体がモデルを保存する場所

getAstahVersion

abstract String getAstahVersion()
astah*本体のバージョンを取得します。

戻り値:
astah*本体のバージョン

getAstahModelVersion

abstract int getAstahModelVersion()
astah*本体がモデルを保存する場合のモデルバージョンを取得します。

戻り値:
astah*本体がモデルを保存する場合のモデルバージョン

getAstahAPIVersion

abstract String getAstahAPIVersion()
astah*APIのバージョンを取得します。

戻り値:
astah*APIのバージョン

getAstahAPIModelVersion

abstract int getAstahAPIModelVersion()
astah*APIがモデルを保存する場合のモデルバージョンを取得します。

戻り値:
astah*APIがモデルを保存する場合のモデルバージョン

getAstahEdition

abstract String getAstahEdition()
astah*本体のエディションを取得します。

戻り値:
astah*本体のエディション "professional", "UML", "community", "think"のいずれか

getAstahInstallPath

abstract String getAstahInstallPath()
インストールされたastah*の場所を取得します。

戻り値:
astahのインストールパス
導入されたバージョン:
6.6.4

getEntity

abstract IEntity getEntity(String id)
指定IDを持つIEntityを返します。 現在開いているプロジェクト全体から、指定IDを持つモデル要素または図要素を検索して返します。 プロジェクトが開かれていない場合など検索できない場合は、nullを返します。

パラメータ:
id - 検索するIEntityのID文字列

open

abstract void open(String projectName,
                   boolean isIgnoreModelVersion,
                   boolean lockMode,
                   boolean allowReadOnly)
astah*プロジェクトを開きます。

パラメータ:
projectName - プロジェクト名
isIgnoreModelVersion - モデルバージョンチェックの有無を指定します
lockMode - ロックモード trueの場合、プロジェクトファイルをロックします
allowReadOnly - trueの場合、プロジェクトファイルがロックされている場合、読込み専用モードで開きます
例外:
LicenseNotFoundException - ライセンスが見つかりません
ProjectNotFoundException - プロジェクトが見つかりません
NonCompatibleException - モデルバージョンが古い(プロジェクトを最後に編集したastah*よりもAPIのバージョンが古い)です
ClassNotFoundException - 読み込めないモデルがあります
IOException - 入出力エラーです
ProjectLockedException - プロジェクトファイルがロックされています

open

abstract void open(String projectName)
astah*プロジェクトを開きます。

パラメータ:
projectName - プロジェクト名
例外:
LicenseNotFoundException - ライセンスが見つかりません
ProjectNotFoundException - プロジェクトが見つかりません
NonCompatibleException - モデルバージョンが古い(プロジェクトを最後に編集したastah*よりもAPIのバージョンが古い)です
ClassNotFoundException - 読み込めないモデルがあります
IOException - 入出力エラーです
ProjectLockedException - プロジェクトファイルがロックされています

findElements

abstract INamedElement[] findElements(ModelFinder picker)
ModelFinderで要素を検索します。 ITopicPresentationなどのプレゼンテーションは検索対象となりません。

パラメータ:
ModelFinder - 要素の検索条件が実装されるクラス。自分の検索条件を実装する必要があります。
戻り値:
INamedElement[] 取得される要素は順不同です。
例外:
ProjectNotFoundException - プロジェクトが存在しません

findElements

abstract INamedElement[] findElements(Class elementKind)
要素の種類で要素を検索します。 ITopicPresentationなどのプレゼンテーションは検索対象となりません。

パラメータ:
elementKind - 要素の種類。APIのクラス名で要素の種類を表します。例:クラスの場合、IClassを指定します。
戻り値:
INamedElement[] 取得される要素は順不同です。
例外:
ProjectNotFoundException - プロジェクトが存在しません

hasSameElement

abstract boolean hasSameElement(String name)
プロジェクト中に同名Elementがあるかを返します。

パラメータ:
name - 検索するElementの名前
戻り値:
true 同名Elementあり / false 同名Elementなし
導入されたバージョン:
6.7.0

validateProject

abstract void validateProject()
astah*プロジェクトの不正モデルを確認します。

例外:
ProjectNotFoundException - プロジェクトが存在しません
InvalidEditingException - 不正なモデルが存在します

easyCompare

abstract void easyCompare(String path)
カレントプロジェクトに指定したプロジェクトの簡易比較を行います。

パラメータ:
path - 比較するプロジェクトのパスを指定します。(ファイル名も含む) 絶対パス/相対パスともに指定できます。
例外:
ProjectNotFoundException - プロジェクトが存在しません
InvalidEditingException - 不正なモデルが存在します
導入されたバージョン:
6.6.4

easyMerge

abstract void easyMerge(String path,
                        boolean isKeepBase)
カレントプロジェクトに指定したプロジェクトの簡単マージを行います。 トランザクション外でコールしてください。

パラメータ:
path - マージするプロジェクトのパスを指定します。(ファイル名も含む) 絶対パス/相対パスともに指定できます。
isKeepBase - trueの場合、差分が検出されたとき、カレントプロジェクトを優先します。
例外:
ProjectNotFoundException - プロジェクトが存在しません
InvalidEditingException - 不正なモデルが存在します
Keys: 
      ILLEGAL_VERSION_ERROR_KEY - astah* communityで編集APIを使用しようとした場合 
      CAN_NOT_MERGE_IN_TRANSACTION_KEY - トランザクションの中でマージしようとした場合 
      CAN_NOT_MERGE_WHEN_CURRENT_HAS_REFERENCE_PROJRCT_KEY - 参照モデルを持つプロジェクトにマージしようとした場合 
      PARAMETER_ERROR_KEY - パラメタが正しく設定されていない場合
Values: 
      例外のエラーメッセージ

getReferenceProjectPaths

abstract String[] getReferenceProjectPaths()
astah*プロジェクトの参照プロジェクトのパスを取得します。

戻り値:
参照プロジェクトのパス 絶対パス/相対パスが混在して返されます。
例外:
ProjectNotFoundException - プロジェクトが存在しません

getReferenceProjectStatus

abstract int getReferenceProjectStatus(String path)
astah*プロジェクトの指定した参照プロジェクトの状態を取得します。

パラメータ:
path - 参照プロジェクトのパスを指定します。(ファイル名も含む) 絶対パス/相対パスともに指定できます。
戻り値:
参照プロジェクトの状態
 ProjectAccessor.REFERENCE_PROJECT_STATUS_LATEST:最新 
 ProjectAccessor.REFERENCE_PROJECT_STATUS_NEED_UPDATE :要更新 
 ProjectAccessor.REFERENCE_PROJECT_STATUS_NOT_FOUND   :リンク切れ
例外:
ProjectNotFoundException - プロジェクトが存在しません

addReferenceProject

abstract void addReferenceProject(String path)
astah*プロジェクトに参照プロジェクトを追加します。

パラメータ:
path - 参照プロジェクトのパスを指定します。(ファイル名も含む) 絶対パス/相対パスともに指定できます。
例外:
ProjectNotFoundException - プロジェクトが存在しません
InvalidEditingException - 不正なモデルが存在します
Keys: 
      ILLEGAL_VERSION_ERROR_KEY - astah* communityで編集APIを使用しようとした場合 
      PARAMETER_ERROR_KEY - パラメタが正しく設定されていない場合
Values: 
      例外のエラーメッセージ

changeReferenceProject

abstract void changeReferenceProject(String fromPath,
                                     String toPath)
astah*プロジェクトの指定した参照プロジェクトのパスを変更します。

パラメータ:
fromPath - 変更元参照プロジェクトのパスを指定します。(ファイル名も含む) 絶対パス/相対パスともに指定できます。
toPath - 変更先参照プロジェクトのパスを指定します。(ファイル名も含む) 絶対パス/相対パスともに指定できます。
例外:
ProjectNotFoundException - プロジェクトが存在しません
InvalidEditingException - 不正なモデルが存在します
Keys: 
      ILLEGAL_VERSION_ERROR_KEY - astah* communityで編集APIを使用しようとした場合 
      PARAMETER_ERROR_KEY - パラメタが正しく設定されていない場合
Values: 
      例外のエラーメッセージ

clearReferenceProject

abstract void clearReferenceProject(String path)
astah*プロジェクトの指定した参照プロジェクトを解除します。

パラメータ:
path - 参照プロジェクトのパスを指定します。(ファイル名も含む) 絶対パス/相対パスともに指定できます。
例外:
ProjectNotFoundException - プロジェクトが存在しません
InvalidEditingException - 不正なモデルが存在します
Keys: 
      ILLEGAL_VERSION_ERROR_KEY - astah* communityで編集APIを使用しようとした場合 
      PARAMETER_ERROR_KEY - パラメタが正しく設定されていない場合
Values: 
      例外のエラーメッセージ

removeReferenceProject

abstract void removeReferenceProject(String path)
astah*プロジェクトに参照プロジェクトを削除します。

パラメータ:
path - 参照プロジェクトのパスを指定します。(ファイル名も含む) 絶対パス/相対パスともに指定できます。
例外:
ProjectNotFoundException - プロジェクトが存在しません
InvalidEditingException - 不正なモデルが存在します
Keys: 
      ILLEGAL_VERSION_ERROR_KEY - astah* communityで編集APIを使用しようとした場合 
      PARAMETER_ERROR_KEY - パラメタが正しく設定されていない場合
Values: 
      例外のエラーメッセージ

updateReferenceProject

abstract void updateReferenceProject(String path)
astah*プロジェクトの指定した参照プロジェクトを更新します。

パラメータ:
path - 参照プロジェクトのパスを指定します。(ファイル名も含む) 絶対パス/相対パスともに指定できます。
例外:
ProjectNotFoundException - プロジェクトが存在しません
InvalidEditingException - 不正なモデルが存在します
Keys: 
      ILLEGAL_VERSION_ERROR_KEY - astah* communityで編集APIを使用しようとした場合 
      PARAMETER_ERROR_KEY - パラメタが正しく設定されていない場合
Values: 
      例外のエラーメッセージ

importXMI

abstract void importXMI(String projectName)
astah*プロジェクトのXMIを開きます。

パラメータ:
projectName - プロジェクト名
例外:
LicenseNotFoundException - ライセンスが見つかりません
ProjectNotFoundException - プロジェクトが見つかりません
NonCompatibleException - モデルバージョンが古い(プロジェクトを最後に編集したastah*よりもAPIのバージョンが古い)です
ClassNotFoundException - 読み込めないモデルがあります
IOException - 入出力エラーです
InvalidUsingException - XMI関連のAPIはコミュニティ、UMLエディションでの使用が不可です。

importXMI

abstract void importXMI(String projectName,
                        boolean isIgnoreModelVersion)
astah*プロジェクトのXMIを開きます。

パラメータ:
projectName - プロジェクト名
isIgnoreModelVersion - モデルバージョンチェックの有無を指定します
例外:
LicenseNotFoundException - ライセンスが見つかりません
ProjectNotFoundException - プロジェクトが見つかりません
NonCompatibleException - モデルバージョンが古い(プロジェクトを最後に編集したastah*よりもAPIのバージョンが古い)です
ClassNotFoundException - 読み込めないモデルがあります
IOException - 入出力エラーです
InvalidUsingException - XMI関連のAPIはコミュニティ、UMLエディションでの使用が不可です。

exportXMI

abstract void exportXMI(String fileName)
astah*プロジェクトをXMI形式で保存します。

パラメータ:
fileName - ファイル名
例外:
LicenseNotFoundException - ライセンスが見つかりません
ProjectNotFoundException - プロジェクトが見つかりません
IOException - 入出力エラーです
InvalidUsingException - XMI関連のAPIはコミュニティ、UMLエディションでの使用が不可です。

addEntityEditListener

abstract void addEntityEditListener(EntityEditListener listener)
モデル編集リスナを追加します。

パラメータ:
listener - モデル編集リスナ

addProjectEventListener

abstract void addProjectEventListener(ProjectEventListener listener)
プロジェクトイベントリスナを追加します。

パラメータ:
listener - プロジェクトイベントリスナ

removeEntityEditListener

abstract void removeEntityEditListener(EntityEditListener listener)
モデル編集リスナを削除します。

パラメータ:
listener - モデル編集リスナ

removeProjectEventListener

abstract void removeProjectEventListener(ProjectEventListener listener)
プロジェクトイベントリスナを削除します。

パラメータ:
listener - プロジェクトイベントリスナ