english japanese german

astah* Scriptプラグイン

スクリプト言語で astahにアクセスできます。ECMAScript(JavaScript)の編集と実行が可能です。

download plugin

  • バージョン: 1.0.4 (2015/8/12時点)
  • 対応エディション: astah* professional、UML、community 6.6以降、astah* SysML 1.3以降、astah* GSN 1.0以降
    (サンプルスクリプトの一部は、astah* professional、UMLのみ利用可)
  • GitHubのリポジトリ
  • サポートサービスの対象外です

astah, script, スクリプト

使い方

  1. 上記ダウンロードから astah_script_plugin-x.x.x.zip ファイルをダウンロードし、任意のフォルダへ展開します。
  2. 展開したフォルダの"sample_scripts"フォルダに、12種のサンプルJavaScriptファイルが格納されています。
  3. メインメニュー[ヘルプ] – [プラグイン一覧]を選択します。
    (バージョン6.8以降は、.jarファイルをastah*にドラッグ&ドロップしてインストールできます)
  4. astahプラグイン
  5. [インストール] ボタンを押下して.jarファイルを選択します。 astahプラグイン
  6. メッセージに従ってastah*を再起動してください。
    astahプラグイン
  7. [ツール]メニュー配下に、[スクリプト]が追加されている事をご確認ください。
  8. astah, アスター, スクリプトプラグイン
  9. スクリプトを実行したいプロジェクトファイルを開きます。
  10. [ツール] - [スクリプト]を選択して、スクリプトダイアログを開きます。 上段にスクリプトを入力するか、またはスクリプトダイアログのメニュー[ファイル] - [開く]を選択し、予め用意しておいたJavaScriptのファイルを開きます。(zipファイルに同梱のサンプルスクリプトは後者の方法でお試しください)
    astah, アスター, スクリプトプラグイン
  11. ツールバーの白い三角ボタンを押下するか、スクリプトダイアログのメニュー[アクション]-[実行]を選択します。(ショートカットキー[Ctrl+R]でも実行できます)
    astah, アスター, スクリプトプラグイン
  12. 下段に実行結果が表示されます。
    astah, アスター, スクリプトプラグイン
  13. 上段に入力したスクリプトは [ファイル]-[名前を付けて保存]で保存できます。

  14. サンプルスクリプト

    sample_scripts フォルダには、合計15ケのJavaScriptサンプルファイルが格納されています。
    スクリプトのサンプルコードは「Scriptプラグインで、すぐに使えるサンプル集」でも一覧できます。

    なお、Java8とJava7では、スクリプトの表記が異なります。astah* professional/UML/community 6.9以前をお使いの場合は、java7フォルダをご参照ください。(一部のサンプルスクリプトはモデル編集のAPIを必要とするため、astah* community版では利用できません)

    • -addSetterGetter : 選択した属性に対するSetter/Getter操作を追加
    • -addStereotypeToSelectedModel.js : 選択したモデルにステレオタイプを追加
    • -checkEdition.js : 起動中のエディションを表示
    • -countClasses.js : 開いているプロジェクトファイルに含まれるクラスの数を表示
    • -createAndOpenDiagram.js : 新しいクラス図を作成
    • -createEREntities.js : 指定した論理名・物理名を用いてERエンティティを作成
    • -exportCsv.js : CSV形式で出力
    • -printClasses.js : 開いているプロジェクトファイルに含まれるクラスの名称を表示
    • -printERIndex : ERモデル中に定義されているインデックスの情報を列挙
    • -printMindmapTopics.js : 開いているマインドマップのトピックをリスト表示
    • -printPackageAndClassInfo.js : パッケージ名、クラス名を列挙
    • -printPresentationProperties.js : 選択した図要素のプロパティをリスト表示
    • -searchAndEdit.js : キーワードを含むクラスを検索し、色を設定、ノートを付加
    • -searchMessagesWithoutOperation.js : シーケンス図の操作が指定されていないメッセージを検索
    • -useJavaGUI.js : ダイアログが表示され、Java GUIを使用できる

    解説

    • 定義済みの変数を使えます。
      • projectAccessor : astah APIのprojectAccessorオブジェクトで、nullの場合はastahにプロジェクトが存在しない。
      • astah : projectAccessorと同じ。
      • astahWindow : astahのメインウィンドウオブジェクト
      • scriptWindow : スクリプトプラグインのウィンドウオブジェクト

    • スクリプトで astah APIを使えます。

    動作環境によるスクリプトの修正について

    astah* professional、UML、community 7.0、astah* GSN 1.1以降では、システム要件のJavaバージョンが8に変更されています。
    6.9あるいは1.0以前のバージョンで作成した jre7用のスクリプトは修正してご利用ください。

    importPackageの修正

    修正前

    importPackage(com.change_vision.jude.api.inf.editor);
    //use the classes in the package

    修正方法1:JavaImporterを用いる

    with(new JavaImporter(com.change_vision.jude.api.inf.editor)) {
        //use the classes in the package
    }

    修正方法2:"nashorn:mozilla_compat.js"を読み込む

    load("nashorn:mozilla_compat.js");
    importPackage(com.change_vision.jude.api.inf.editor);
    //use the classes in the package

    修正方法3:Java.typeを用いる

    var TransactionManager = Java.type("com.change_vision.jude.api.inf.editor.TransactionManager");
    //use the class

    println の修正

    修正前

    println("astah*");

    修正方法1:printlnをprintに書き換える

    print("astah*");

    修正方法2:println=print;を追加する

    println = print;
    println("astah*");

    .class の修正

    修正前

    var classes = astah.findElements(IClass);

    修正方法:.classを追加する

    var classes = astah.findElements(IClass.class);

    その他については、下記ページをご参照ください。
    https://wiki.openjdk.java.net/display/Nashorn/Rhino+Migration+Guide


    他のスクリプト言語を使う

    OSGi bundleかつJSR223準拠のjarを利用することで、他のスクリプト言語を使用できます。

    1. 使用したいスクリプト言語の jarファイルをダウンロードします。(例. groovy-all.jar, jruby-###.jar)
    2. astah plugins フォルダに 1のjarファイルをコピーします。(~/.astah/plugins)
    3. astah*を起動します。

    プラグイン一覧へ戻る