openGionopenGion
5.8.2.0

org.opengion.hayabusa.resource
クラス CalendarDBData

java.lang.Object
  上位を拡張 org.opengion.hayabusa.resource.CalendarDBData
すべての実装されたインタフェース:
CalendarData

 class CalendarDBData
extends Object
implements CalendarData

事業所(CDJGS) 毎の休日カレンダデータオブジェクトです。 カレンダデータは、指定の事業所に関して、すべての休日情報を持っています。 元のカレンダテーブル(GE13)の 1日(DY1)~31日(DY31)までの日付け欄に対して、 休日日付けの 年月日 に対する、休日かどうかを判断できるだけの情報を保持します。 具体的には、休日の年月日に対する List を持つことになります。 このクラスは、パッケージプライベートになっています。このオブジェクトを作成するのは、 CalendarFactory#getCalendarData( String ) で行います。引数は、事業所コード(cdjgs)です。 このカレンダオブジェクトを使用するには、事業所カレンダテーブル(GE13) を使用する ことを許可しておく必要があります。 許可は、システムパラメータ の USE_CALENDAR_DATABASE 属性を true に 設定します(初期値は、互換性優先の false です。) この、カレンダテーブルは、GE13 固定です。他のテーブルを使用する場合は、 ビュー等を作成する必要があります。 カレンダテーブル は、通常 DEFAULT DBIDを使用しますが、RESOURCE_CALENDAR_DBID を設定することで、他のデータベースから読み取ることが可能になります。

変更履歴:
3.6.0.0 (2004/09/17) 新規作成
機能分類
リソース管理
バージョン
4.0
作成者
Kazuhiko Hasegawa
導入されたバージョン:
JDK5.0,

コンストラクタの概要
CalendarDBData(String[][] data, boolean isFlat)
          コンストラクタ 配列文字列のデータを元に、CalendarDBDataオブジェクトを構築します。
 
メソッドの概要
 Calendar getAfterDay(Calendar start, int span)
          指定の開始日に平日のみ期間を加算して求められる日付けを返します。
 int getKadoubisu(Calendar start, Calendar end)
          指定の開始、終了日の期間に、平日(稼働日)が何日あるか求めます。
 boolean isContainedToday(Calendar day, int scope)
          指定の日付けから、範囲の間に、本日を含むかどうかを返します。
 boolean isHoliday(Calendar day)
          指定の日付けが、休日かどうかを返します。
 String toString()
          オブジェクトの識別子として,詳細なカレンダ情報を返します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

コンストラクタの詳細

CalendarDBData

CalendarDBData(String[][] data,
               boolean isFlat)
コンストラクタ 配列文字列のデータを元に、CalendarDBDataオブジェクトを構築します。 このコンストラクタは、他のパッケージから呼び出せないように、 パッケージプライベートにしておきます。 年月データは、連続である必要があります。 途中に抜けがあるかどうかのチェックを行います。

パラメータ:
data - データベース検索データ
isFlat - 縦持ち(false)か横持ち(true)の区別
メソッドの詳細

isHoliday

public boolean isHoliday(Calendar day)
指定の日付けが、休日かどうかを返します。 指定の日付けが、データベースに設定されていない場合は、すべて休日を 返すことで、存在しない事を示します。

定義:
インタフェース CalendarData 内の isHoliday
パラメータ:
day - Calendar 指定の日付け
戻り値:
休日:true それ以外:false

isContainedToday

public boolean isContainedToday(Calendar day,
                                int scope)
指定の日付けから、範囲の間に、本日を含むかどうかを返します。 指定の日付けが、キャッシュしているデータの最大と最小の間に 存在しない場合は、常に false になります。 判定は、年月日の項目のみで比較し、時分秒は無視します。

定義:
インタフェース CalendarData 内の isContainedToday
パラメータ:
day - Calendar 指定の開始日付け
scope - 範囲の日数
戻り値:
本日:true それ以外:false
変更履歴:
3.7.1.1 (2005/05/31) 新規追加
3.8.8.6 (2007/04/20) today を毎回求めます。(キャッシュ対策)

getKadoubisu

public int getKadoubisu(Calendar start,
                        Calendar end)
指定の開始、終了日の期間に、平日(稼働日)が何日あるか求めます。 調査月が、データベース上に存在していない場合は、エラーとします。 開始と終了が同じ日の場合は、1を返します。

定義:
インタフェース CalendarData 内の getKadoubisu
パラメータ:
start - Calendar 開始日付け(稼働日に含めます)
end - Calendar 終了日付け(稼働日に含めます)
戻り値:
稼働日数

getAfterDay

public Calendar getAfterDay(Calendar start,
                            int span)
指定の開始日に平日のみ期間を加算して求められる日付けを返します。 これは、実稼働日計算に使用します。 例えば、start=20040810 , span=5 で、休日がなければ、10,11,12,13,14 となり、 20040815 を返します。 指定の日付けや、期間加算後の日付けが、キャッシュしているデータの 最大と最小の間に存在しない場合は、エラーとします。

定義:
インタフェース CalendarData 内の getAfterDay
パラメータ:
start - Calendar 開始日付け(YYYYMMDD 形式)
span - 稼動期間
戻り値:
Calendar 開始日から稼動期間を加算した日付け(当日を含む)

toString

public String toString()
オブジェクトの識別子として,詳細なカレンダ情報を返します。

オーバーライド:
クラス Object 内の toString
戻り値:
詳細なカレンダ情報

openGion 5.8.2.0

Webアプリケーションフレームワーク openGion
SourceForge.JPCopyright (c) 2009 The openGion Project.