org.opengion.hayabusa.resource
クラス CalendarFactory
java.lang.Object
org.opengion.hayabusa.resource.CalendarFactory
public final class CalendarFactory
- extends Object
事業所(CDJGS) , 年月(YYYYMM) に対応した休日カレンダデータを作成するファクトリクラスです。
カレンダデータは、1日(DY1)~31日(DY31)までの日付け欄に対して、0:平日 1:休日 という
データを持っています。実際には、内部では true:平日 false:休日 という持ち方をします。
(カレンダDBは、文字列ですが、内部で持つ場合は、数字で管理しています。)
通常のカレンダでは、月毎に、(2月は、年によって)最大日付けが変わります。
これは、カレンダデータクラスとしては、-1 を設定しておきます。
カレンダデータには、3つのレベルのオブジェクト作成方法が適用されます。
他のリソースの3つのレベルとは異なり、エンジンリソースからの読み取りは
存在しなく、第4の方法が加わった事により、3つの方法になっています。
まず、読込フラグ(FGLOAD)='1'のカレンダデータは、このCalendarFactoryオブジェクトが
構築された時に、すべてキャッシュとして内部メモリに読み取ります。
読込フラグが、'1' 以外のデータは、初期起動時には、メモリにキャッシュされず
実際に使用されるまで、オブジェクトが作成されません。
カレンダの場合、過去の使用される可能性が低いデータまで、キャッシュしない様に、
このフラグを使用して、メモリの節約を図ることが可能になります。
読込フラグ(FGLOAD)自動設定機能を使用すれば、読み取ったラベルデータに対して、
読込フラグ(FGLOAD)に '1' を自動的にセットします。この機能により、一度でも
読み取ったことがあるデータに '1' を付け、次回起動時には、メモリキャッシュさせる
事と、一度も読み取っていないデータを判別して、データ削除等のメンテナンスに
使用することが可能です。
カレンダに限定すれば、当面使用されない先のカレンダ(1年分など)を登録する時に、
読込フラグ(FGLOAD)='0' にしておけば、実際に読み取られるまで、メモリキャッシュ
されないため、さらにメモリ効率が向上します。
2つめの方法は、キャッシュに存在しない場合は、DBから読み取ります。
3つめは、カレンダ特有の方法で、DBにデータが存在しない場合の設定です。
これは、カレンダテーブル未設定時でも、カレンダとして使用できるように
自動的にカレンダデータを作成します。日曜日を休日として自動設定します。
- 変更履歴:
3.6.0.0 (2004/09/17) 新規作成 |
- 機能分類
- リソース管理
- バージョン
- 4.0
- 作成者
- Kazuhiko Hasegawa
- 導入されたバージョン:
- JDK5.0,
クラス java.lang.Object から継承されたメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
getCalendarData
public static CalendarData getCalendarData(String cls,
String arg1,
String arg2,
String arg3,
String arg4)
- CalendarData オブジェクトを取得します。
作成したCalendarDataオブジェクトは,内部にプールしておき,同じリソース要求が
あったときは,プールの CalendarDataを返します。
DBにデータが存在しない場合は、自動でカレンダを作成します。
- パラメータ:
cls
- CalendarQueryオブジェクトを名称を指定します。arg1
- データベース検索時の第1引数arg2
- データベース検索時の第2引数arg3
- データベース検索時の第3引数arg4
- データベース検索時の第4引数
- 戻り値:
- CalendarDataオブジェクト
- 変更履歴:
3.8.7.0 (2006/12/15) アクセスログ取得の為,ApplicationInfoオブジェクトを設定 |
4.0.0.0 (2007/08/29) カレンダーテーブルが存在しない場合のデフォルトのカレンダーデータをシステムリソースで設定する |
clear
public static void clear()
- キャッシュ(プール)から、すべてのオブジェクトをクリアします。
Webアプリケーションフレームワーク openGion
Copyright (c) 2009 The openGion Project.