クラス CalendarDBData

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

    class CalendarDBData
    extends java.lang.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​(java.lang.String[][] data, boolean isFlat)
      コンストラクタ 配列文字列のデータを元に、CalendarDBDataオブジェクトを構築します。
    • メソッドの概要

      すべてのメソッド インスタンス・メソッド concreteメソッド 
      修飾子とタイプ メソッド 説明
      java.util.Calendar getAfterDay​(java.util.Calendar start, int span)
      指定の開始日に平日のみ期間を加算して求められる日付けを返します。
      int getKadoubisu​(java.util.Calendar start, java.util.Calendar end)
      指定の開始、終了日の期間に、平日(稼働日)が何日あるか求めます。
      boolean isContainedToday​(java.util.Calendar day, int scope)
      指定の日付けから、範囲の間に、本日を含むかどうかを返します。
      boolean isHoliday​(java.util.Calendar day)
      指定の日付けが、休日かどうかを返します。
      java.lang.String toString()
      オブジェクトの識別子として,詳細なカレンダ情報を返します。
      • クラスから継承されたメソッド java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • コンストラクタの詳細

      • CalendarDBData

        CalendarDBData​(java.lang.String[][] data,
                       boolean isFlat)
        コンストラクタ 配列文字列のデータを元に、CalendarDBDataオブジェクトを構築します。 このコンストラクタは、他のパッケージから呼び出せないように、 パッケージプライベートにしておきます。 年月データは、連続である必要があります。 途中に抜けがあるかどうかのチェックを行います。
        パラメータ:
        data - データベース検索データ
        isFlat - 縦持ち(false)か横持ち(true)の区別
    • メソッドの詳細

      • isHoliday

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

        public boolean isContainedToday​(java.util.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​(java.util.Calendar start,
                                java.util.Calendar end)
        指定の開始、終了日の期間に、平日(稼働日)が何日あるか求めます。 調査月が、データベース上に存在していない場合は、エラーとします。 開始と終了が同じ日の場合は、1を返します。
        定義:
        getKadoubisu インタフェース内 CalendarData
        パラメータ:
        start - Calendar 開始日付け(稼働日に含めます)
        end - Calendar 終了日付け(稼働日に含めます)
        戻り値:
        稼働日数
      • getAfterDay

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

        public java.lang.String toString()
        オブジェクトの識別子として,詳細なカレンダ情報を返します。
        オーバーライド:
        toString クラス内 java.lang.Object
        戻り値:
        詳細なカレンダ情報
        このメソッドは、nullを返しません