# astah* API 利用ガイド

## 【参照プロジェクトの設定】

astah* APIの参照プロジェクト機能は、astah* professionalでサポートしています。

### 【astah* API で参照プロジェクトを追加する】

参照プロジェクトを追加します。

astah*プロジェクトファイルのOPEN → 参照プロジェクトを追加 → astah*プロジェクトファイルとして保存

    import com.change_vision.jude.api.inf.project.ProjectAccessor;
    import com.change_vision.jude.api.inf.project.ProjectAccessorFactory;

    public class Test {
      public static void main(String[] args) {
        try {
            ProjectAccessor prjAccessor = ProjectAccessorFactory.getProjectAccessor();

            prjAccessor.open("C:\\API\\pro305.asta");
            prjAccessor.addReferenceProject("C:\\API\\pro305_ref.asta");

            prjAccessor.saveAs("C:\\API\\pro305_2.asta");

            prjAccessor.close();

        } catch (Exception e) {
            e.printStackTrace();
        }
      }
    }

### 【astah* API で参照プロジェクトを更新する】

参照プロジェクトを更新します。

astah*プロジェクトファイルのOPEN → 参照プロジェクトを更新 → astah*プロジェクトファイルとして保存

    import com.change_vision.jude.api.inf.project.ProjectAccessor;
    import com.change_vision.jude.api.inf.project.ProjectAccessorFactory;

    public class Test {
      public static void main(String[] args) {
        try {
            ProjectAccessor prjAccessor = ProjectAccessorFactory.getProjectAccessor();

            prjAccessor.open("C:\\API\\pro305.asta");

            String path = "C:\\API\\pro305_ref.asta";
            int status = prjAccessor.getReferenceProjectStatus(path);
            if (status == ProjectAccessor.REFERENCE_PROJECT_STATUS_NEED_UPDATE) {
                prjAccessor.updateReferenceProject(path);
            }
            prjAccessor.saveAs("C:\\API\\pro305_2.asta");

            prjAccessor.close();

        } catch (Exception e) {
            e.printStackTrace();
        }
      }
    }

### 【astah* API で参照プロジェクトを削除する】

参照プロジェクトを削除します。

astah*プロジェクトファイルのOPEN　→　参照プロジェクトを削除　→　astah*プロジェクトファイルとして保存

    import com.change_vision.jude.api.inf.project.ProjectAccessor;
    import com.change_vision.jude.api.inf.project.ProjectAccessorFactory;

    public class Test {
      public static void main(String[] args) {
        try {
            ProjectAccessor prjAccessor = ProjectAccessorFactory.getProjectAccessor();

            prjAccessor.open("C:\\API\\pro305.asta");
            prjAccessor.removeReferenceProject("C:\\API\\pro305_ref.asta");

            prjAccessor.saveAs("C:\\API\\pro305_2.asta");

            prjAccessor.close();

        } catch (Exception e) {
            e.printStackTrace();
        }
      }
    }

### 【astah* API で参照プロジェクトを解除する】

参照プロジェクトを解除します。

astah*プロジェクトファイルのOPEN　→　参照プロジェクトを解除　→　astah*プロジェクトファイルとして保存

    import com.change_vision.jude.api.inf.project.ProjectAccessor;
    import com.change_vision.jude.api.inf.project.ProjectAccessorFactory;

    public class Test {
      public static void main(String[] args) {
        try {
            ProjectAccessor prjAccessor = ProjectAccessorFactory.getProjectAccessor();

            prjAccessor.open("C:\\API\\pro305.asta");
            prjAccessor.clearReferenceProject("C:\\API\\pro305_ref.asta");

            prjAccessor.saveAs("C:\\API\\pro305_2.asta");

            prjAccessor.close();

        } catch (Exception e) {
            e.printStackTrace();
        }
      }
    }

### 【astah* API で参照プロジェクトのパスを変更する】

参照プロジェクトのパスを変更します。

astah*プロジェクトファイルのOPEN　→　参照プロジェクトのパスを変更　→　astah*プロジェクトファイルとして保存

    import com.change_vision.jude.api.inf.project.ProjectAccessor;
    import com.change_vision.jude.api.inf.project.ProjectAccessorFactory;

    public class Test {
      public static void main(String[] args) {
        try {
            ProjectAccessor prjAccessor = ProjectAccessorFactory.getProjectAccessor();

            prjAccessor.open("C:\\API\\pro305.asta");
            prjAccessor.changeReferenceProject("C:\\API\\pro305_ref.asta","C:\\API2\\pro305_ref.asta");

            prjAccessor.saveAs("C:\\API\\pro305_2.asta");

            prjAccessor.close();

        } catch (Exception e) {
            e.printStackTrace();
        }
      }
    }

HOME