状態クラスと Bean クラス

状態クラスは, JavaBeans の状態を表すフィールドが定義されたクラスで, Bean クラスのスーパークラスとなります.

状態クラスは 次のようなクラスでなければなりません.

Bean クラスは状態クラスのサブクラスで, 状態クラスと同じパッケージに成されます. 生成された Bean クラスは JavaBean アノテーションで注釈されます.

生成される Bean クラスの名前は次のようになります.

状態クラスの名前が Abstract で始まっている場合
状態クラスの名前の先頭から Abstract を除去した名前になります.
状態クラスの名前が State で終わっている場合
状態クラスの名前の末尾から State を除去した名前になります.
状態クラスの名前が Bean で終わっている場合
状態クラスの名前の末尾に Impl を付加した名前になります.
その他の場合
状態クラスの名前の末尾に Bean を付加した名前になります.

以下に状態クラスと生成される Bean クラスの名前の例を示します.

状態クラスの名前 生成される Bean クラスの名前
AbstractHogeBean HogeBean
HogeBeanState HogeBean
HogeBean HogeBeanImpl
Hoge HogeBean

Bean クラスは状態クラスの非 private コンストラクタを引き継ぎます. 引き継ぐことのできるコンストラクタが一つもない場合はエラーとなります.

Bean クラスのクラス Javadoc コメントおよびコンストラクタ Javadoc コメントは, 状態クラスの Javadoc コメントを引き継ぎます.