Enumクラスに定義した定数からコードリストを作成するクラスである。EnumCodeListを使用して、コードリストのラベルをEnumクラスで管理することを検討してほしい。コード値に紐づく情報と操作をEnumクラスに集約する事ができる。コード値をEnumクラスで管理する必要がある(つまり、Javaのロジックでコード値を意識した処理を行う必要がある)UIの国際化(多言語化)の必要がない以下に、EnumCodeListの使用イメージを示す。org.terasoluna.gfw.common.codelist.EnumCodeList.CodeListItemインタフェースを提供している。EnumCodeListを使用する場合は、作成するEnumクラスでEnumCodeList.CodeListItemインタフェースを実装する必要がある。EnumCodeList.CodeListItemインタフェースを実装したEnumクラスを作成する。共通ライブラリから提供しているorg.terasoluna.gfw.common.codelist.EnumCodeList.CodeListItemインタフェースを実装する。EnumCodeList.CodeListItemインタフェースには、コードリストを作成するために必要な情報(コード値とラベル)を取得するためのメソッドとして、コード値を取得するgetCodeValue()メソッドラベルを取得するgetCodeLabel()メソッドが定義されている。(2)定数を定義する。定数を生成する際に、コードリストを作成するために必要な情報(コード値とラベル)を指定する。上記例では、以下の3つの定数を定義している。ラベル="Cancelled")NoteEnumCodeListを使用した際のコードリストの並び順は、定数の定義順となる。(3)コードリストを作成するために必要な情報(コード値とラベル)を保持するプロパティを用意する。(4)コードリストを作成するために必要な情報(コード値とラベル)を受け取るコンストラクタを用意する。(5)定数が保持するコード値を返却する。EnumCodeListが定数からコード値を取得する際に呼び出す。(6)定数が保持するラベルを返却する。EnumCodeListが定数からラベルを取得する際に呼び出す。bean定義ファイル(xxx-codelist.xml)の定義コードリスト用のbean定義ファイルに、EnumCodeListを定義する。説明(7)コードリストの実装クラスとして、EnumCodeListクラスを指定する。(8)EnumCodeListクラスのコンストラクタに、EnumCodeList.CodeListItemインタフェースを実装したEnumクラスのFQCNを指定する。