サンプル・アプリケーションのオブジェクト・モデル
このチュートリアルの例と演習では、単純な Caché Contact Management アプリケーションで Web サービス・プロデューサを作成します。アプリケーションのファイルは、Caché インストールの一部として提供されています。作業する Caché ネームスペースにそれらのファイルをインストールし、クラスにデータを生成する必要があります。すべての例と演習用ファイルのインストール情報へのリンクは、下記のメモを参照してください。
アプリケーションは、Contact と PhoneNumber という 2 つのクラスで構成されています。これらのクラスは、連絡先とその電話番号を表します。次の図は、アプリケーションのオブジェクト・モデルを表しています。
![generated description: exampleappobjmodel](images/tsoa_exampleappobjmodel.png)
Contact には、以下のプロパティがあります。
-
id — オブジェクト ID。Contact の各インスタンスに対して一意です。値は、Caché によって自動的に割り当てられます。スタジオのクラス・エディタやインスペクタには、このプロパティは表示されません。
-
ContactType — 連絡先のタイプを表します。有効な値は、“Business” と “Personal” のみです。
-
Name — 連絡先の名前を表します。値は、任意の %StringOpens in a new tab です。
PhoneNumber には、以下のプロパティがあります。
-
id — オブジェクト ID。PhoneNumber の各インスタンスに対して一意です。値は、Caché によって自動的に割り当てられます。スタジオのクラス・エディタやインスペクタには、このプロパティは表示されません。
-
PhoneNumberType — 電話番号のタイプを表します。有効な値は、“Business”、“Home”、“Fax”、および “Mobile” のみです。
-
Number — 電話番号を表します。値は、任意の %StringOpens in a new tab です。形式に関する制限はありません。
これらのプロパティのサポートに加えて、2 つのクラス間には親子リレーションシップが確立されています。つまり、各 Contact (親クラス) オブジェクトに任意の数の PhoneNumber (子クラス) オブジェクトを含めることができます。ただし、各 PhoneNumber オブジェクトは 1 つの Contact のみに含める必要があります。PhoneNumber オブジェクトは、Contact と独立して存在することはできません。また、PhoneNumber オブジェクトを複数の Contact に含めることはできません。このリレーションシップは、次の 2 つのプロパティによって表されます (図には示されていません)。
-
PhoneNumbers — Contact のプロパティ。Contact に含まれる PhoneNumber (子) オブジェクトのコレクションを表します。
-
Contact — PhoneNumber のプロパティ。PhoneNumber の親である Contact オブジェクトへの参照を含みます。
Caché アプリケーションの配置とインストールの詳細は、"例と演習ファイルのインストール" を参照してください。Caché アプリケーションをインストールしたら、サンプル・データを入力します。アプリケーションへのデータの入力の詳細は、"サンプル・アプリケーションのコンパイルと生成" を参照してください。