com.docomostar.util
クラス ScheduleDate

Object
  上位を拡張 com.docomostar.util.ScheduleDate

public class ScheduleDate
extends Object

スケジュールの予定時間帯を指定するためのクラスです。

このクラスのインスタンスは、 スケジューラの設定Star アプリケーションの自動起動設定などの引数に使用されます。 具体的に保持している内容は以下の通りです。

このクラスのインスタンスは不変(immutable)なので、 これらの情報は、インスタンス生成後には変更できないことに注意してください。

日時指定のタイプとして、 「1回限り」 「毎日」 「毎週」 「毎月」 「毎年」 の予定時間帯を設定できます。

終了日時に null が設定されている場合は、 幅を持った時間(期間)ではなく、時刻であると解釈されます。

「毎月」の日時指定タイプの場合、日と時刻の指定のみが意味を持ちますが、 月によってはその月の日数を超えた日となってしまうことがあります (「毎月31日」を指定した場合の2月や4月など)。 その場合に、当該月でイベントが発生するか否か、 発生する場合にいつに発生するかは機種依存です。
「毎年」の日時指定タイプの場合の、うるう年の扱いも、同様に機種依存です。

下記に示すような意味をなさない値の組み合わせについては、 このクラスでは引数の組み合わせに起因するエラーチェックは一切行いません。 異常な値の組み合わせの ScheduleDate オブジェクトがどのように解釈されるかは、 そのオブジェクトを受け取る側で定義します。

導入されたバージョン:
Star-1.0
関連項目:
Schedule.addEntry(ScheduleParam), StarApplicationManager.setLaunchTime(int, ScheduleDate), DTVScheduleParam

フィールドの概要
static int COUNT_INFINITE
          スケジュールの繰り返し回数が無限であることを表します(=0)。
static int DAILY
          「毎日」のスケジュール時刻を表す日時指定タイプです(=0x02)。
static int MONTHLY
          「毎月」のスケジュール時刻を表す日時指定タイプです(=0x08)。
static int ONETIME
          「1回限り」のスケジュール時刻を表す日時指定タイプです(=0x01)。
static int WEEKLY
          「毎週」のスケジュール時刻を表す日時指定タイプです(=0x04)。
static int YEARLY
          「毎年」のスケジュール時刻を表す日時指定タイプです(=0x10)。
 
コンストラクタの概要
ScheduleDate(int type, java.util.Calendar start, java.util.Calendar end)
           日時指定タイプ、開始日時、終了日時を指定して、 オブジェクトを生成します。
ScheduleDate(int type, int repeatCount, int[] spanSet, java.util.Calendar start, java.util.Calendar end)
          日時指定タイプ、繰り返し回数、期間の集合、開始日時、終了日時を指定して、 オブジェクトを生成します。
 
メソッドの概要
 java.util.Calendar getEndTime()
          このスケジュールの終了日時を取得します。
 int getRepeatCount()
          このスケジュールの繰り返し回数を取得します。
 int[] getSpanSet()
          このスケジュールの期間の集合を取得します。
 java.util.Calendar getStartTime()
          このスケジュールの開始日時を取得します。
 int getType()
          このスケジュールに設定されている日時指定タイプを取得します。
 
クラス Object から継承されたメソッド
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

ONETIME

public static final int ONETIME
「1回限り」のスケジュール時刻を表す日時指定タイプです(=0x01)。

関連項目:
定数フィールド値

DAILY

public static final int DAILY
「毎日」のスケジュール時刻を表す日時指定タイプです(=0x02)。

関連項目:
定数フィールド値

WEEKLY

public static final int WEEKLY
「毎週」のスケジュール時刻を表す日時指定タイプです(=0x04)。 ScheduleDate オブジェクト生成時にこの日時指定タイプを設定する場合、 コンストラクタにおける引数 spanSet には以下の値が設定可能です。 spanSet に値が指定された場合、指定された各曜日について、それぞれ毎週繰り返されます。

引数 spanSet が指定されていない場合(nullが指定された場合)、 「開始日時」から「終了日時」までのスケジュールが毎週繰り返されます。

関連項目:
定数フィールド値

MONTHLY

public static final int MONTHLY
「毎月」のスケジュール時刻を表す日時指定タイプです(=0x08)。 ScheduleDate オブジェクト生成時にこの日時指定タイプを設定する場合、 コンストラクタにおける引数 spanSet には 1 から 31 の整数値が設定可能です。
spanSet に値が指定された場合、指定された各日付について、それぞれ毎月繰り返されます。

引数 spanSet が指定されていない場合(nullが指定された場合)、 「開始日時」から「終了日時」までのスケジュールが毎月繰り返されます。

関連項目:
定数フィールド値

YEARLY

public static final int YEARLY
「毎年」のスケジュール時刻を表す日時指定タイプです(=0x10)。 ScheduleDate オブジェクト生成時にこの日時指定タイプを設定する場合、 コンストラクタにおける引数 spanSet には以下の値が設定可能です。 spanSet に値が指定された場合、指定された各月について、それぞれ毎年繰り返されます。

引数 spanSet が指定されていない場合(nullが指定された場合)、 「開始日時」から「終了日時」までのスケジュールが毎年繰り返されます。

関連項目:
定数フィールド値

COUNT_INFINITE

public static final int COUNT_INFINITE
スケジュールの繰り返し回数が無限であることを表します(=0)。

関連項目:
定数フィールド値
コンストラクタの詳細

ScheduleDate

public ScheduleDate(int type,
                    java.util.Calendar start,
                    java.util.Calendar end)

日時指定タイプ、開始日時、終了日時を指定して、 オブジェクトを生成します。 開始日時、終了日時として引数に指定された Calendar オブジェクトは、内部でコピーされて保持されます。

引数 typeに ONETIME が指定された場合、 繰り返し回数 には必ず '1' が設定されます。
それ以外の日時指定タイプ が指定された場合、 繰り返し回数が無限であることを表す定数 COUNT_INFINITE が設定されます。

このコンストラクタを用いて生成した ScheduleDate オブジェクトで、 getSpanSet() メソッドを実行すると、常に null が返ります。

パラメータ:
type - 日時指定タイプを指定します。 ONETIMEDAILYWEEKLYMONTHLYYEARLY のいずれかを指定します。
start - 開始日時を指定します。 null を指定することはできません。
end - 終了日時を指定します。 null を指定した場合は、幅を持たない時刻となります。
例外:
NullPointerException -
引数 start に null を指定した場合に発生します。
IllegalArgumentException -
引数 type に不正な値を指定した場合に発生します。
IllegalArgumentException -
Calendar 型の引数のいずれかに、システムが提供している以外のオブジェクト(Calendar クラスを継承した未知のクラスのオブジェクト)が渡された場合に発生します。

ScheduleDate

public ScheduleDate(int type,
                    int repeatCount,
                    int[] spanSet,
                    java.util.Calendar start,
                    java.util.Calendar end)
日時指定タイプ、繰り返し回数、期間の集合、開始日時、終了日時を指定して、 オブジェクトを生成します。 開始日時、終了日時として引数に指定された Calendar オブジェクトや、期間の集合として引数に指定された配列は、 内部でコピーされて保持されます。

繰り返し回数は日時指定タイプの補助情報です。 スケジュールが繰り返される回数を登録するために使います。
引数 type が ONETIME である場合は、 繰り返し回数は意味を持ちません。 その場合、引数 repeatCount に指定された値は(不正かどうかのチェックもされずに)無視され、 繰り返し回数には必ず 1 が設定されます。

期間の集合も同様に日時指定タイプの補助情報です。 開始日時、終了日時、日時指定タイプだけでは表現できないような、 複数の期間を登録するために使用します。 期間の集合の詳細については WEEKLYMONTHLYYEARLY の各フィールド説明を参照してください。
引数 type が ONETIMEDAILY である場合は、 期間の集合は意味を持ちません。その場合、引数 spanSet に指定された値は(不正かどうかのチェックもされずに)無視され、 期間の集合には必ず null が設定されます。

その他、期間の集合の配列に指定された値の解釈は、以下の通りとなります。

パラメータ:
type - 日時指定タイプを指定します。 ONETIMEDAILYWEEKLYMONTHLYYEARLY のいずれかを指定します。
repeatCount - 繰り返し回数を指定します。 COUNT_INFINITE を指定すると無限回繰り返すことを表します。負数を指定することはできません。
spanSet - 期間の集合を指定します。null を指定可能です。
start - 開始日時を指定します。 null を指定することはできません。
end - 終了日時を指定します。 null を指定した場合は、幅を持たない時刻となります。
例外:
NullPointerException -
引数 start に null を指定した場合に発生します。
IllegalArgumentException -
引数 type に不正な値を指定した場合に発生します。
IllegalArgumentException -
引数 spanSet に不正な値、あるいは空の配列を指定した場合に発生します。
IllegalArgumentException -
引数 repeatCount に不正な値を指定した場合に発生します。
IllegalArgumentException -
Calendar 型の引数のいずれかに、システムが提供している以外のオブジェクト(Calendar クラスを継承した未知のクラスのオブジェクト)が渡された場合に発生します。
メソッドの詳細

getType

public int getType()
このスケジュールに設定されている日時指定タイプを取得します。

戻り値:
日時指定タイプを返します。 ONETIMEDAILYWEEKLYMONTHLYYEARLY のいずれかが返ります。

getStartTime

public java.util.Calendar getStartTime()
このスケジュールの開始日時を取得します。

戻り値:
このスケジュールの開始日時を、 内部で保持しているオブジェクトをコピーして返します。

getEndTime

public java.util.Calendar getEndTime()
このスケジュールの終了日時を取得します。 このオブジェクト生成時に、コンストラクタの引数 end に null が指定されていた場合は、このメソッドは常に null を返します。

戻り値:
このスケジュールの終了日時を、 内部で保持しているオブジェクトをコピーして返します。

getSpanSet

public int[] getSpanSet()
このスケジュールの期間の集合を取得します。

戻り値:
期間の集合を、 内部で保持している配列をコピーして返します。

getRepeatCount

public int getRepeatCount()
このスケジュールの繰り返し回数を取得します。

戻り値:
繰り返し回数を返します。