org.opengion.hayabusa.resource

## クラス CalendarDBData

- java.lang.Object
- - org.opengion.hayabusa.resource.CalendarDBData

- すべての実装されたインタフェース:
    CalendarData

       class CalendarDBData
      extends Object
      implements CalendarData

  事業所(CDJGS) 毎の休日カレンダデータオブジェクトです。 カレンダデータは、指定の事業所に関して、すべての休日情報を持っています。 元のカレンダテーブル(GE13)の １日(DY1)～３１日(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)

      指定の日付けが、休日かどうかを返します。 指定の日付けが、データベースに設定されていない場合は、すべて休日を 返すことで、存在しない事を示します。
      定義:
        `isHoliday` インタフェース内 `CalendarData`
      パラメータ:
        `day` - Calendar 指定の日付け
      戻り値:
        休日：true それ以外：false

    - #### isContainedToday

          public boolean isContainedToday(Calendar day,
                                 int scope)

      指定の日付けから、範囲の間に、本日を含むかどうかを返します。 指定の日付けが、キャッシュしているデータの最大と最小の間に 存在しない場合は、常に false になります。 判定は、年月日の項目のみで比較し、時分秒は無視します。
      定義:
        `isContainedToday` インタフェース内 `CalendarData`
      パラメータ:
        `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)

      指定の開始、終了日の期間に、平日(稼働日)が何日あるか求めます。 調査月が、データベース上に存在していない場合は、エラーとします。 開始と終了が同じ日の場合は、１を返します。
      定義:
        `getKadoubisu` インタフェース内 `CalendarData`
      パラメータ:
        `start` - Calendar 開始日付け(稼働日に含めます)
        `end` - Calendar 終了日付け(稼働日に含めます)
      戻り値:
        稼働日数

    - #### getAfterDay

          public Calendar getAfterDay(Calendar start,
                             int span)

      指定の開始日に平日のみ期間を加算して求められる日付けを返します。 これは、実稼働日計算に使用します。 例えば、start=20040810 , span=5 で、休日がなければ、10,11,12,13,14 となり、 20040815 を返します。 指定の日付けや、期間加算後の日付けが、キャッシュしているデータの 最大と最小の間に存在しない場合は、エラーとします。
      定義:
        `getAfterDay` インタフェース内 `CalendarData`
      パラメータ:
        `start` - Calendar 開始日付け(YYYYMMDD 形式)
        `span` - 稼動期間
      戻り値:
        Calendar 開始日から稼動期間を加算した日付け(当日を含む)

    - #### toString

          public String toString()

      オブジェクトの識別子として，詳細なカレンダ情報を返します。
      オーバーライド:
        `toString` クラス内 `Object`
      戻り値:
        詳細なカレンダ情報

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