ドメイン(domain)

ドメインは、属性として使用できる値の型を定義する。ドメイン・オブジェクトは開発者が定義するデータ型で、ドメインのコンストラクタに簡易検証が組み込まれた、スカラー値または構造をカプセル化した不変のJavaクラスである。ドメイン型のオブジェクトが作成されると、検証が行われる。ドメインの作成には次の利点がある。

JDeveloperには、ドメインを定義するためのドメイン・ウィザードおよびドメイン・エディタが用意されている。社会保障番号などの特定の型の値を保持できるように、ビジネス・ロジック層同様Thinクライアントでもドメインのクラスを使用できる。また、(すべてのコンストラクタでコールされる)ドメインの検証メソッドで、入力文字列を初期化または検証するコードを記述できる。ドメイン・クラスは、フォーム内の各フィールドと関連付けできる。フォームでは、フィールドの入力文字列によりドメイン・クラスのインスタンスを直接作成できる。

ドメイン・ウィザードおよびドメイン・エディタでは、設定を指定し、ドメイン型のすべての属性にこの設定を継承させることができる。属性によりドメインの設定がさらに制限されることはあるが、制限が緩和されることはない。たとえば、あるドメイン型に一時属性を含めない場合は、そのドメインを永続的としてマークする。

ドメイン・オブジェクトは、作成後、属性のデータ型として使用できる。たとえば、SSNumberという名前のドメインを作成し、結果のデータ型が9文字の文字列であることを確認する検証コードをこのドメインに記述する。

ドメインは常にシリアライズ可能なJavaオブジェクトである。ビジネス・コンポーネント・フレームワークでは、String、byte[]、IntegerなどのネイティブのJava型を少なくとも1つ受け入れるコンストラクタをドメインに含めることが推奨されている。

ビジネス・コンポーネント・フレームワークでは、事前定義済のドメインもいくつか提供される。