org.sisioh.baseunits.scala.time

CalendarInterval

class CalendarInterval extends Interval[CalendarDate] with Serializable

期間(日付の区間)を表すクラス。

限界の表現には org.sisioh.baseunits.scala.time.CalendarDateを利用する。 生成する期間の開始日と終了日は期間に含む(閉じている)開区間を生成する。

Linear Supertypes
Interval[CalendarDate], Serializable, Serializable, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. CalendarInterval
  2. Interval
  3. Serializable
  4. Serializable
  5. AnyRef
  6. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new CalendarInterval(startValue: LimitValue[CalendarDate], endValue: LimitValue[CalendarDate])

    startValue

    開始日

    endValue

    終了日

    Attributes
    protected

Value Members

  1. final def !=(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  7. def asTimeInterval(timeZone: TimeZone = TimeZones.Default): TimeInterval

    この期間の開始日の午前0時を開始日時、この期間の終了日の翌日午前0時を終了日時とする時間の期間を生成する。

    この期間の開始日の午前0時を開始日時、この期間の終了日の翌日午前0時を終了日時とする時間の期間を生成する。

    生成する期間の開始日時は期間に含み(閉じている)、終了日時は期間に含まない(開いている)半開区間を生成する。

    timeZone

    タイムゾーン

    returns

    時間の期間

  8. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  9. def complementRelativeTo(other: Interval[CalendarDate]): Seq[Interval[CalendarDate]]

    この区間の区間と与えた区間 other の共通部分を返す。

    この区間の区間と与えた区間 other の共通部分を返す。

    この区間と与えた区間に共通部分がない場合は、 other を要素とする要素数1の区間列を返す。 与えた区間が、この区間を完全に内包する場合は、2つの区間に分かれるため、要素数が2の区間列を返す。 逆にこの区間が、与えた区間を完全に内包する場合は、要素数0の区間列を返す。 上記以外の場合、この区間の補区間と与えた区間の共通部分を要素とする要素数1の区間列を返す。

    other

    対照となる区間

    returns

    補区間と対照区間の共通部分のリスト

    Definition Classes
    Interval
    See also

    complement (wikipedia)

  10. def covers(other: Interval[CalendarDate]): Boolean

    この区間が、指定した区間 otherを完全に内包するかどうかを検証する。

    この区間が、指定した区間 otherを完全に内包するかどうかを検証する。

    other

    区間

    returns

    完全に内包する場合はtrue、そうでない場合はfalse

    Definition Classes
    Interval
  11. lazy val daysInReverseIterator: Iterator[CalendarDate]

    この期間の終了日を起点として、前回の日付の前日をこの期間の開始日を超過しない範囲で順次取得する反復子を取得する。

    この期間の終了日を起点として、前回の日付の前日をこの期間の開始日を超過しない範囲で順次取得する反復子を取得する。

    例えば [2009/01/01, 2009/01/04] で表される期間に対してこのメソッドを呼び出した場合、 その戻り値の反復子からは、以下の要素が取得できる。

    • 2009/01/04
    • 2009/01/03
    • 2009/01/02
    • 2009/01/01

    この期間が開始日(下側限界)を持たない場合、 scala.collection.Iterator hasNext()は常に trueを返すので、無限ループに注意すること。

    returns

    日付の反復子

    Exceptions thrown
    IllegalStateException

    この期間が終了日(上側限界)を持たない場合

  12. lazy val daysIterator: Iterator[CalendarDate]

    この期間の開始日を起点として、前回の日付の翌日をこの期間の終了日を超過しない範囲で順次取得する反復子を取得する。

    この期間の開始日を起点として、前回の日付の翌日をこの期間の終了日を超過しない範囲で順次取得する反復子を取得する。

    例えば [2009/01/01, 2009/01/04] で表される期間に対してこのメソッドを呼び出した場合、 その戻り値の反復子からは、以下の要素が取得できる。

    • 2009/01/01
    • 2009/01/02
    • 2009/01/03
    • 2009/01/04

    この期間が終了日(上側限界)を持たない場合、 scala.collection.Iterator hasNext()は常に trueを返すので、無限ループに注意すること。

    returns

    日付の反復子

    Exceptions thrown
    IllegalStateException

    この期間が開始日(下側限界)を持たない場合

  13. lazy val emptyOfSameType: Interval[CalendarDate]

    この区間と同じ限界値を持つ、新しい開区間を生成する。

    この区間と同じ限界値を持つ、新しい開区間を生成する。

    returns

    新しい開区間

    Definition Classes
    Interval
  14. val end: LimitValue[CalendarDate]

    終了日を取得する。

    終了日を取得する。

    returns

    終了日. 開始日がない場合はLimitless[CalendarDate]

  15. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  16. def equals(obj: Any): Boolean

    この区間と、与えた区間 otherの同一性を検証する。

    この区間と、与えた区間 otherの同一性を検証する。

    両者が共に空の区間であった場合はtrue、どちらか一方のみが空の区間であった場合はfalseを返す。 両者とも単一要素区間であった場合は、単一要素となる限界値同士を比較し、一致した場合はtrueを返す。 また、どちらか一方のみが単一要素区間であった場合はfalseを返す。

    otherInterval以外であった場合は、必ずfalseを返す。

    obj

    比較対象の区間

    returns

    同一である場合はtrue、そうでない場合はfalse

    Definition Classes
    Interval → AnyRef → Any
  17. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  18. def gap(other: Interval[CalendarDate]): Interval[CalendarDate]

    この区間と与えた区間 other の間にある区間を取得する。

    この区間と与えた区間 other の間にある区間を取得する。

    例えば、[3, 5) と [10, 20) の gap は、[5, 19) である。 2つの区間が共通部分を持つ場合は、空の区間を返す。

    other

    比較対象の区間

    returns

    ギャップ区間

    Definition Classes
    Interval
  19. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  20. val hasLowerLimit: Boolean

    下側限界があるかどうかを取得する。

    下側限界があるかどうかを取得する。

    Warning: This method should generally be used for display purposes and interactions with closely coupled classes. Look for (or add) other methods to do computations.

    警告:このメソッドは一般的に、この値の表示目的および、このクラスと結合度の高いクラスとの インタラクションに使用する。不用意なこのメソッドの使用は、このクラスとクライアント側のクラスの 結合度をいたずらに高めてしまうことを表す。この値を計算に使用したい場合は、他の適切なメソッドを探すか、 このクラスに新しいメソッドを追加することを検討すること。

    returns

    下側限界がある場合はtrue、そうでない場合はfalse

    Definition Classes
    Interval
  21. val hasUpperLimit: Boolean

    上側限界があるかどうかを取得する。

    上側限界があるかどうかを取得する。

    Warning: This method should generally be used for display purposes and interactions with closely coupled classes. Look for (or add) other methods to do computations.

    警告:このメソッドは一般的に、この値の表示目的および、このクラスと結合度の高いクラスとの インタラクションに使用する。不用意なこのメソッドの使用は、このクラスとクライアント側のクラスの 結合度をいたずらに高めてしまうことを表す。この値を計算に使用したい場合は、他の適切なメソッドを探すか、 このクラスに新しいメソッドを追加することを検討すること。

    returns

    上側限界がある場合はtrue、そうでない場合はfalse

    Definition Classes
    Interval
  22. def hashCode(): Int

    Definition Classes
    Interval → AnyRef → Any
  23. def includes(value: LimitValue[CalendarDate]): Boolean

    指定した値 value が、この区間に含まれるかどうかを検証する。

    指定した値 value が、この区間に含まれるかどうかを検証する。

    value

    returns

    含まれる場合はtrue、そうでない場合はfalse

    Definition Classes
    Interval
  24. val includesLowerLimit: Boolean

    下側限界が閉じているかどうかを取得する。

    下側限界が閉じているかどうかを取得する。

    Warning: This method should generally be used for display purposes and interactions with closely coupled classes. Look for (or add) other methods to do computations.

    警告:このメソッドは一般的に、この値の表示目的および、このクラスと結合度の高いクラスとの インタラクションに使用する。不用意なこのメソッドの使用は、このクラスとクライアント側のクラスの 結合度をいたずらに高めてしまうことを表す。この値を計算に使用したい場合は、他の適切なメソッドを探すか、 このクラスに新しいメソッドを追加することを検討すること。

    returns

    下側限界が閉じている場合はtrue、そうでない場合はfalse

    Definition Classes
    Interval
  25. val includesUpperLimit: Boolean

    上側限界が閉じているかどうかを取得する。

    上側限界が閉じているかどうかを取得する。

    Warning: This method should generally be used for display purposes and interactions with closely coupled classes. Look for (or add) other methods to do computations.

    警告:このメソッドは一般的に、この値の表示目的および、このクラスと結合度の高いクラスとの インタラクションに使用する。不用意なこのメソッドの使用は、このクラスとクライアント側のクラスの 結合度をいたずらに高めてしまうことを表す。この値を計算に使用したい場合は、他の適切なメソッドを探すか、 このクラスに新しいメソッドを追加することを検討すること。

    returns

    上側限界値が閉じている場合はtrue、そうでない場合はfalse

    Definition Classes
    Interval
  26. def intersect(other: Interval[CalendarDate]): Interval[CalendarDate]

    この区間と与えた区間 other の積集合(共通部分)を返す。

    この区間と与えた区間 other の積集合(共通部分)を返す。

    共通部分が存在しない場合は、空の区間を返す。

    other

    比較対象の区間

    returns

    積集合(共通部分)

    Definition Classes
    Interval
  27. def intersects(other: Interval[CalendarDate]): Boolean

    この区間と、与えた区間otherの間に共通部分が存在するかどうか検証する。

    この区間と、与えた区間otherの間に共通部分が存在するかどうか検証する。

    other

    対象区間

    returns

    共通部分が存在する場合はtrue、そうでない場合はfalse

    Definition Classes
    Interval
  28. def isAbove(value: LimitValue[CalendarDate]): Boolean

    指定した値 value が、この区間の下側限界を超過していないかどうかを検証する。

    指定した値 value が、この区間の下側限界を超過していないかどうかを検証する。

    value

    returns

    超過していない場合はtrue、そうでない場合はfalse

    Definition Classes
    Interval
  29. def isBelow(value: LimitValue[CalendarDate]): Boolean

    指定した値 value が、この区間の上側限界を超過していないかどうかを検証する。

    指定した値 value が、この区間の上側限界を超過していないかどうかを検証する。

    value

    returns

    超過していない場合はtrue、そうでない場合はfalse

    Definition Classes
    Interval
  30. def isClosed: Boolean

    この区間が閉区間であるかどうかを検証する。

    この区間が閉区間であるかどうかを検証する。

    returns

    閉区間である場合はtrue、そうでない場合(半開区間を含む)はfalse

    Definition Classes
    Interval
  31. def isEmpty: Boolean

    この区間が空であるかどうかを検証する。

    この区間が空であるかどうかを検証する。

    区間が空であるとは、上側限界値と下側限界値が同値であり、かつ、開区間であることを示す。 例えば 3 < x < 3のような状態である。

    returns

    空である場合はtrue、そうでない場合はfalse

    Definition Classes
    Interval
  32. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  33. def isOpen: Boolean

    この区間が開区間であるかどうかを検証する。

    この区間が開区間であるかどうかを検証する。

    returns

    開区間である場合はtrue、そうでない場合(半開区間を含む)はfalse

    Definition Classes
    Interval
  34. def isSingleElement: Boolean

    この区間が単一要素区間であるかどうかを検証する。 単一要素区間は、上側下側の両限界を持ち、さらにそれらの限界値が同値であり、かつ、開区間ではないことを示す。 例えば 3 <= x < 3, 3 < x <= 3, 3 <= x <= 3のような状態である。

    この区間が単一要素区間であるかどうかを検証する。 単一要素区間は、上側下側の両限界を持ち、さらにそれらの限界値が同値であり、かつ、開区間ではないことを示す。 例えば 3 <= x < 3, 3 < x <= 3, 3 <= x <= 3のような状態である。

    returns

    単一要素区間である場合はtrue、そうでない場合はfalse

    Definition Classes
    Interval
  35. lazy val length: Duration

    この期間の日数としての長さを取得する。

    この期間の日数としての長さを取得する。

    returns

    期間の長さ

    See also

    #length()

  36. lazy val lengthInDaysInt: Int

    この期間が、日数にして何日の長さがあるかを取得する。

    この期間が、日数にして何日の長さがあるかを取得する。

    returns

    日数

    Exceptions thrown
    IllegalStateException

    この期間が開始日(下側限界)または終了日(下側限界)を持たない場合

  37. lazy val lengthInMonths: Duration

    この期間の月数としての長さを取得する。

    この期間の月数としての長さを取得する。

    開始日と終了日が同月であれば0ヶ月となる。

    returns

    期間の長さ

    See also

    #lengthInMonthsInt()

  38. lazy val lengthInMonthsInt: Int

    限界日の「日」要素を考慮せず、この期間が月数にして何ヶ月の長さがあるかを取得する。

    限界日の「日」要素を考慮せず、この期間が月数にして何ヶ月の長さがあるかを取得する。

    開始日と終了日が同月であれば0となる。

    returns

    月数

    Exceptions thrown
    IllegalStateException

    この期間が開始日(下側限界)または終了日(下側限界)を持たない場合

  39. def lowerLimit: LimitValue[CalendarDate]

    下側限界値を取得する。

    下側限界値を取得する。

    Warning: This method should generally be used for display purposes and interactions with closely coupled classes. Look for (or add) other methods to do computations.

    警告:このメソッドは一般的に、この値の表示目的および、このクラスと結合度の高いクラスとの インタラクションに使用する。不用意なこのメソッドの使用は、このクラスとクライアント側のクラスの 結合度をいたずらに高めてしまうことを表す。この値を計算に使用したい場合は、他の適切なメソッドを探すか、 このクラスに新しいメソッドを追加することを検討すること。

    returns

    下側限界値. 限界がない場合は、org.sisioh.baseunits.scala.intervals.Limitless

    Definition Classes
    Interval
  40. val lowerLimitObject: IntervalLimit[CalendarDate]

    Definition Classes
    Interval
  41. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  42. def newOfSameType(lower: LimitValue[CalendarDate], isLowerClosed: Boolean, upper: LimitValue[CalendarDate], isUpperClosed: Boolean): Interval[CalendarDate]

    この区間と同じ型Tを持つ、新しい区間を生成する。

    この区間と同じ型Tを持つ、新しい区間を生成する。

    lower

    下側限界値. 限界値がない場合は、org.sisioh.baseunits.scala.intervals.Limitless

    upper

    上側限界値. 限界値がない場合は、org.sisioh.baseunits.scala.intervals.Limitless

    returns

    新しい区間

    Definition Classes
    CalendarIntervalInterval
  43. final def notify(): Unit

    Definition Classes
    AnyRef
  44. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  45. val start: LimitValue[CalendarDate]

    開始日を取得する。

    開始日を取得する。

    returns

    開始日. 開始日がない場合はLimitless[CalendarDate]

  46. def subintervalIterator(subintervalLength: Duration): Iterator[CalendarInterval]

    この期間の開始日を起点として、指定した時間の長さを持ち前回の終了日の翌日を開始日とする期間 CalendarInterval を この期間の終了日を超過しない範囲で順次取得する反復子を取得する。

    この期間の開始日を起点として、指定した時間の長さを持ち前回の終了日の翌日を開始日とする期間 CalendarInterval を この期間の終了日を超過しない範囲で順次取得する反復子を取得する。

    例えば [2009/01/01, 2009/01/11] で表される期間に対して、 2日間の subintervalLength を与えた場合、 その戻り値の反復子からは、以下の要素が取得できる。

    • [2009/01/01, 2009/01/02]
    • [2009/01/03, 2009/01/04]
    • [2009/01/05, 2009/01/06]
    • [2009/01/07, 2009/01/08]
    • [2009/01/09, 2009/01/10]

    この期間が終了日(上側限界)を持たない場合、 scala.collection.Iterator hasNext()は常に trueを返すので、無限ループに注意すること。

    subintervalLength

    反復子が返す期間の長さ

    returns

    期間の反復子

    Exceptions thrown
    IllegalArgumentException

    引数subintervalLengthの長さ単位が「日」未満の場合

    IllegalStateException

    この期間が開始日(下側限界)を持たない場合

  47. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  48. def toString(): String

    区間の文字列表現を取得する。

    区間の文字列表現を取得する。

    空の区間である場合は "{}", 単一要素区間である場合は "{x}"を返す。 また、例えば 3〜5 の開区間である場合は "(3, 5)"、閉区間である場合は "[3, 5]"、 半開区間であれば "[3, 5)" または "(3, 5]" の様に、開いた限界を "()"、 閉じた限界を "[]" で表現する。

    Definition Classes
    Interval → AnyRef → Any
    See also

    java.lang.Object#toString()

  49. def upperLimit: LimitValue[CalendarDate]

    上側限界値を取得する。

    上側限界値を取得する。

    Warning: This method should generally be used for display purposes and interactions with closely coupled classes. Look for (or add) other methods to do computations.

    警告:このメソッドは一般的に、この値の表示目的および、このクラスと結合度の高いクラスとの インタラクションに使用する。不用意なこのメソッドの使用は、このクラスとクライアント側のクラスの 結合度をいたずらに高めてしまうことを表す。この値を計算に使用したい場合は、他の適切なメソッドを探すか、 このクラスに新しいメソッドを追加することを検討すること。

    returns

    上側限界値. 限界がない場合は、org.sisioh.baseunits.scala.intervals.Limitless

    Definition Classes
    Interval
  50. val upperLimitObject: IntervalLimit[CalendarDate]

    Definition Classes
    Interval
  51. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  52. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  53. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Interval[CalendarDate]

Inherited from Serializable

Inherited from Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped