method属性に、refreshメソッドを指定する。サポートされた形式で記述すること。環境によってリロードするタイミングが変わることが想定されるため、プロパティファイルや、環境変数等から取得することを推奨する。詳細はJavaDocを参照されたい。JdbcCodeListのrefreshメソッドをServiceクラスで呼び出す場合の実装例を、以下に示す。説明(1)ReloadableCodeListクラスのrefreshメソッドを実行するServiceクラスをインジェクションする。(2)ReloadableCodeListクラスのrefreshメソッドを実行するServiceクラスのrefreshメソッドを実行する。Serviceクラス以下は実装クラスのみ記述し、インターフェースクラスは省略。該当するコードリストを指定する。value属性に取得したいbeanのIDを指定すること。Bean定義ファイルに定義されているbeanタグのID属性”CL_AUTHORITIES”のコードリストがインジェクションされる。(5)フィールドの型にReloadableCodeListインターフェースを定義すること。(4)で指定したBeanはReloadableCodeListインターフェースを実装していること。(6)Serviceクラスで定義したrefreshメソッド。Controllerクラスから呼び出されている。(7)ReloadableCodeListインターフェースを実装したコードリストのrefreshメソッド。refreshメソッドを実行することで、コードリストが更新される。共通ライブラリで提供している4種類のコードリストで実現できないコードリストを作成したい場合、コードリストを独自にカスタマイズすることができる。独自カスタマイズする場合、作成できるコードリストの種類と実装方法について、以下の表に示す。インターフェースを直接実装しても実現はできるが、共通ライブラリで提供されている抽象クラスを拡張することで、最低限の実装で済む。以下に、独自カスタマイズの実例について示す。例として、今年と来年の年のリストを作るコードリストについて説明する。(例:今年が2013の場合、コードリストには、”2013、2014”の順で格納される。コードリストをコンポーネント登録する。指定することで、bean定義で設定したコードリストインターセプトによりコードリストをコンポーネント登録する。今年と来年の年のリストを作る時、動的にシステム日付から算出して作成しているため、リロードは不要。インジェクトしている。利用して今年と来年の年を取得することができる。事前に、bean定義ファイルにDataFactory実装クラスを設定する必要がある。メソッドをオーバライドして、今年と来年の年のリストを作成する。作成したいコードリスト毎に実装が異なる。指定することで、該当のコードリストを取得することができる。value="2014">2014</option></select>出力画面Noteリロード可能であるCodeListを独自カスタマイズする場合、スレッドセーフになるように実装すること。設定されているコードリスト設定の他に2つ設定方法がある。料金を選択するセレクトボックスの場合の例を用いて、それぞれの設定方法を説明する。説明(1)rowsプロパティに対して、”MapのMap”を設定する。外側のMapのkeyはjava.lang.Localeである。内側のMapのkeyはコード値、valueはロケールに対応したラベルである。説明(1)columnsプロパティに対して、”MapのMap”を設定する。外側のMapのkeyはコード値である。内側のMapのkeyはjava.lang.Locale、valueはロケールに対応したラベルである。From)場合の実装例を、以下に示す。説明(1)範囲開始の値を指定する。name属性”to”のvalue属性の値より大きい値を指定する。この指定によって、interval分減少した値を、To~Fromの範囲分のリストとして、降順に表示する。intervalは設定していないため、デフォルトの値1が適用される。(2)範囲終了の値を設定する。本例では、2000を指定することにより、リストには2013~2000までの範囲で1ずつ減少して格納される。次に、interval値を設定する場合の実装例を、以下に示す。説明(1)増加(減少)値を指定する。この指定によって、interval値を増加(減少)した値を、From~Toの範囲内でコードリストとして格納する。上記の例だと、コードリストには10,20,30,40,50の順で格納される。value="50">50</option></select>出力画面Noteinterval値分増加(減少)した値が、Form~Toの値が範囲を超えた場合は、コードリストに格納されない。/></bean>という定義を行った場合、コードリストには10,20,30,40,50の計5つが格納される。次のintervalである60及び範囲の閾値である55はコードリストに格納されない。