コレクションクラスの設定

<< 目次を表示 >>

ページ位置:  ソースコードの生成と読み込み > ソースコードの生成と読み込みに関する設定 >

コレクションクラスの設定

Enterprise Architectでは、関連の接続で、相手側の多重度が1以上の場合にコレクションクラスを生成することができます。この生成のためには定義が必要です。

 

項目

説明

コレクションクラスの定義

プロジェクトのオプションダイアログのそれぞれの言語の設定では、設定項目の表の下に、以下のようなコレクションクラスボタンが存在します。

 

 

このボタンを押すと表示されるコレクションクラスの設定ダイアログでは以下の設定ができます。

 

  • 既定のコレクションクラス:
    1..*の多重度に対応するコレクションクラス  
  • 順序のあるコレクションクラス:
    ordered制約のある、 1..*の多重度に対応するコレクションクラス
  • 限定されたコレクションクラス:
    限定子の定義された、1..*の多重度に対応するコレクションクラス  

       

     

特定のクラスに対するコレクションクラスの設定

クラスのプロパティダイアログ内の詳細タブ内にコレクションクラスボタンがあります。

ここで表示されるダイアログは上記で説明したものと同じダイアログです。

ただし、それぞれの設定内容は、対象になっているクラスにのみ適用されます。

 

コード生成時のルール

実際のコード生成時に多重度が1以上の場合には、以下のような方法でコレクションクラスが利用されます。

 

もし限定子 が設定されていれば、上記 限定されたコレクションクラス」の設定が利用されます。

  • もしクラスに対してコレクションクラスが設定されていれば、その設定が利用されます。
  • それ以外の場合にはコード生成の言語ダイアログで設定されている内容が利用されます。

 

もし ordered の制約が指定されている場合には、上記「順序のあるコレクションクラス」の設定が利用されます。

  • もしクラスに対してコレクションクラスが設定されていれば、その設定が利用されます。
  • それ以外の場合にはコード生成の言語ダイアログで設定されている内容が利用されます。

 

それ以外の場合にはコード生成の言語ダイアログで設定されている 「既定のコレクションクラス」 の内容が利用されます。

  • もしクラスに対してコレクションクラスが設定されていれば、その設定が利用されます。
  • それ以外の場合にはコード生成の言語ダイアログで設定されている内容が利用されます。

型の置換

コレクションの名前に"#TYPE#"というマーカーを利用することもできます。

このマーカーを利用した場合には、コードの生成時に実際のクラス名で置換されます。例えば、Vector<#TYPE#>というような値を指定した場合には、Vector<foo>のように置換されます。

逆にソースコードを読み込む際に、もし一致する定義がある場合には、関連の接続が作成されます。

追加のコレクションクラス

いくつかの言語では、追加のコレクションクラスを定義して、リバースエンジニアリング時に解釈することができます。

メンバーの型

関連のプロパティのそれぞれの関連端のタブでは、メンバーの型の定義項目があります。この項目に値を指定すると、上記の設定可能な項目を上書きする形になります。

 

 

参照: