| |
|
| java.lang.Object org.joda.time.base.AbstractInterval
All known Subclasses: org.joda.time.base.BaseInterval,
AbstractInterval | abstract public class AbstractInterval implements ReadableInterval(Code) | | AbstractInterval provides the common behaviour for time intervals.
This class should generally not be used directly by API users. The
ReadableInterval interface should be used when different
kinds of intervals are to be referenced.
AbstractInterval subclasses may be mutable and not thread-safe.
author: Brian S O'Neill author: Stephen Colebourne since: 1.0 |
Method Summary | |
protected void | checkInterval(long start, long end) Validates an interval. | public boolean | contains(long millisInstant) Does this time interval contain the specified millisecond instant.
Non-zero duration intervals are inclusive of the start instant and
exclusive of the end. | public boolean | contains(ReadableInstant instant) Does this time interval contain the specified instant.
Non-zero duration intervals are inclusive of the start instant and
exclusive of the end. | public boolean | contains(ReadableInterval interval) Does this time interval contain the specified time interval.
Non-zero duration intervals are inclusive of the start instant and
exclusive of the end. | public boolean | containsNow() Does this time interval contain the current instant.
Non-zero duration intervals are inclusive of the start instant and
exclusive of the end. | public boolean | equals(Object readableInterval) Compares this object with the specified object for equality based
on start and end millis plus the chronology. | public DateTime | getEnd() Gets the end of this time interval, which is exclusive, as a DateTime. | public DateTime | getStart() Gets the start of this time interval, which is inclusive, as a DateTime. | public int | hashCode() Hashcode compatible with equals method. | public boolean | isAfter(long millisInstant) Is this time interval after the specified millisecond instant. | public boolean | isAfter(ReadableInstant instant) Is this time interval after the specified instant. | public boolean | isAfter(ReadableInterval interval) Is this time interval entirely after the specified interval. | public boolean | isAfterNow() Is this time interval after the current instant. | public boolean | isBefore(long millisInstant) Is this time interval before the specified millisecond instant. | public boolean | isBefore(ReadableInstant instant) Is this time interval before the specified instant. | public boolean | isBefore(ReadableInterval interval) Is this time interval entirely before the specified instant. | public boolean | isBeforeNow() Is this time interval before the current instant. | public boolean | overlaps(ReadableInterval interval) Does this time interval overlap the specified time interval.
Intervals are inclusive of the start instant and exclusive of the end.
An interval overlaps another if it shares some common part of the
datetime continuum. | public Duration | toDuration() Gets the duration of this time interval. | public long | toDurationMillis() Gets the duration of this time interval in milliseconds. | public Interval | toInterval() Get this interval as an immutable Interval object. | public MutableInterval | toMutableInterval() Get this time interval as a MutableInterval . | public Period | toPeriod() Converts the duration of the interval to a Period using the
All period type. | public Period | toPeriod(PeriodType type) Converts the duration of the interval to a Period using the
specified period type. | public String | toString() Output a string in ISO8601 interval format. |
AbstractInterval | protected AbstractInterval()(Code) | | Constructor.
|
checkInterval | protected void checkInterval(long start, long end)(Code) | | Validates an interval.
Parameters: start - the start instant in milliseconds Parameters: end - the end instant in milliseconds throws: IllegalArgumentException - if the interval is invalid |
contains | public boolean contains(long millisInstant)(Code) | | Does this time interval contain the specified millisecond instant.
Non-zero duration intervals are inclusive of the start instant and
exclusive of the end. A zero duration interval cannot contain anything.
Parameters: millisInstant - the instant to compare to,millisecond instant from 1970-01-01T00:00:00Z true if this time interval contains the millisecond |
contains | public boolean contains(ReadableInstant instant)(Code) | | Does this time interval contain the specified instant.
Non-zero duration intervals are inclusive of the start instant and
exclusive of the end. A zero duration interval cannot contain anything.
For example:
[09:00 to 10:00) contains 08:59 = false (before start)
[09:00 to 10:00) contains 09:00 = true
[09:00 to 10:00) contains 09:59 = true
[09:00 to 10:00) contains 10:00 = false (equals end)
[09:00 to 10:00) contains 10:01 = false (after end)
[14:00 to 14:00) contains 14:00 = false (zero duration contains nothing)
Passing in a null parameter will have the same effect as
calling
AbstractInterval.containsNow() .
Parameters: instant - the instant, null means now true if this time interval contains the instant |
contains | public boolean contains(ReadableInterval interval)(Code) | | Does this time interval contain the specified time interval.
Non-zero duration intervals are inclusive of the start instant and
exclusive of the end. The other interval is contained if this interval
wholly contains, starts, finishes or equals it.
A zero duration interval cannot contain anything.
When two intervals are compared the result is one of three states:
(a) they abut, (b) there is a gap between them, (c) they overlap.
The contains method is not related to these states.
In particular, a zero duration interval is contained at the start of
a larger interval, but does not overlap (it abuts instead).
For example:
[09:00 to 10:00) contains [09:00 to 10:00) = true
[09:00 to 10:00) contains [09:00 to 09:30) = true
[09:00 to 10:00) contains [09:30 to 10:00) = true
[09:00 to 10:00) contains [09:15 to 09:45) = true
[09:00 to 10:00) contains [09:00 to 09:00) = true
[09:00 to 10:00) contains [08:59 to 10:00) = false (otherStart before thisStart)
[09:00 to 10:00) contains [09:00 to 10:01) = false (otherEnd after thisEnd)
[09:00 to 10:00) contains [10:00 to 10:00) = false (otherStart equals thisEnd)
[14:00 to 14:00) contains [14:00 to 14:00) = false (zero duration contains nothing)
Passing in a null parameter will have the same effect as
calling
AbstractInterval.containsNow() .
Parameters: interval - the time interval to compare to, null means a zero duration interval now true if this time interval contains the time interval |
containsNow | public boolean containsNow()(Code) | | Does this time interval contain the current instant.
Non-zero duration intervals are inclusive of the start instant and
exclusive of the end. A zero duration interval cannot contain anything.
true if this time interval contains the current instant |
equals | public boolean equals(Object readableInterval)(Code) | | Compares this object with the specified object for equality based
on start and end millis plus the chronology.
All ReadableInterval instances are accepted.
To compare the duration of two time intervals, use
AbstractInterval.toDuration() to get the durations and compare those.
Parameters: readableInterval - a readable interval to check against true if the start and end millis are equal |
getEnd | public DateTime getEnd()(Code) | | Gets the end of this time interval, which is exclusive, as a DateTime.
the end of the time interval |
getStart | public DateTime getStart()(Code) | | Gets the start of this time interval, which is inclusive, as a DateTime.
the start of the time interval |
hashCode | public int hashCode()(Code) | | Hashcode compatible with equals method.
suitable hashcode |
isAfter | public boolean isAfter(long millisInstant)(Code) | | Is this time interval after the specified millisecond instant.
Intervals are inclusive of the start instant and exclusive of the end.
Parameters: millisInstant - the instant to compare to,millisecond instant from 1970-01-01T00:00:00Z true if this time interval is after the instant |
isAfter | public boolean isAfter(ReadableInstant instant)(Code) | | Is this time interval after the specified instant.
Intervals are inclusive of the start instant and exclusive of the end.
Parameters: instant - the instant to compare to, null means now true if this time interval is after the instant |
isAfter | public boolean isAfter(ReadableInterval interval)(Code) | | Is this time interval entirely after the specified interval.
Intervals are inclusive of the start instant and exclusive of the end.
Only the end time of the specified interval is used in the comparison.
Parameters: interval - the interval to compare to, null means now true if this time interval is after the interval specified |
isAfterNow | public boolean isAfterNow()(Code) | | Is this time interval after the current instant.
Intervals are inclusive of the start instant and exclusive of the end.
true if this time interval is after the current instant |
isBefore | public boolean isBefore(long millisInstant)(Code) | | Is this time interval before the specified millisecond instant.
Intervals are inclusive of the start instant and exclusive of the end.
Parameters: millisInstant - the instant to compare to,millisecond instant from 1970-01-01T00:00:00Z true if this time interval is before the instant |
isBefore | public boolean isBefore(ReadableInstant instant)(Code) | | Is this time interval before the specified instant.
Intervals are inclusive of the start instant and exclusive of the end.
Parameters: instant - the instant to compare to, null means now true if this time interval is before the instant |
isBefore | public boolean isBefore(ReadableInterval interval)(Code) | | Is this time interval entirely before the specified instant.
Intervals are inclusive of the start instant and exclusive of the end.
Parameters: interval - the interval to compare to, null means now true if this time interval is before the interval specified |
isBeforeNow | public boolean isBeforeNow()(Code) | | Is this time interval before the current instant.
Intervals are inclusive of the start instant and exclusive of the end.
true if this time interval is before the current instant |
overlaps | public boolean overlaps(ReadableInterval interval)(Code) | | Does this time interval overlap the specified time interval.
Intervals are inclusive of the start instant and exclusive of the end.
An interval overlaps another if it shares some common part of the
datetime continuum.
When two intervals are compared the result is one of three states:
(a) they abut, (b) there is a gap between them, (c) they overlap.
The abuts state takes precedence over the other two, thus a zero duration
interval at the start of a larger interval abuts and does not overlap.
For example:
[09:00 to 10:00) overlaps [08:00 to 08:30) = false (completely before)
[09:00 to 10:00) overlaps [08:00 to 09:00) = false (abuts before)
[09:00 to 10:00) overlaps [08:00 to 09:30) = true
[09:00 to 10:00) overlaps [08:00 to 10:00) = true
[09:00 to 10:00) overlaps [08:00 to 11:00) = true
[09:00 to 10:00) overlaps [09:00 to 09:00) = false (abuts before)
[09:00 to 10:00) overlaps [09:00 to 09:30) = true
[09:00 to 10:00) overlaps [09:00 to 10:00) = true
[09:00 to 10:00) overlaps [09:00 to 11:00) = true
[09:00 to 10:00) overlaps [09:30 to 09:30) = true
[09:00 to 10:00) overlaps [09:30 to 10:00) = true
[09:00 to 10:00) overlaps [09:30 to 11:00) = true
[09:00 to 10:00) overlaps [10:00 to 10:00) = false (abuts after)
[09:00 to 10:00) overlaps [10:00 to 11:00) = false (abuts after)
[09:00 to 10:00) overlaps [10:30 to 11:00) = false (completely after)
[14:00 to 14:00) overlaps [14:00 to 14:00) = false (abuts before and after)
[14:00 to 14:00) overlaps [13:00 to 15:00) = true
Parameters: interval - the time interval to compare to, null means a zero length interval now true if the time intervals overlap |
toDuration | public Duration toDuration()(Code) | | Gets the duration of this time interval.
The duration is equal to the end millis minus the start millis.
the duration of the time interval throws: ArithmeticException - if the duration exceeds the capacity of a long |
toDurationMillis | public long toDurationMillis()(Code) | | Gets the duration of this time interval in milliseconds.
The duration is equal to the end millis minus the start millis.
the duration of the time interval in milliseconds throws: ArithmeticException - if the duration exceeds the capacity of a long |
toInterval | public Interval toInterval()(Code) | | Get this interval as an immutable Interval object.
the interval as an Interval object |
toMutableInterval | public MutableInterval toMutableInterval()(Code) | | Get this time interval as a MutableInterval .
This will always return a new MutableInterval with the same interval.
the time interval as a MutableInterval object |
toPeriod | public Period toPeriod()(Code) | | Converts the duration of the interval to a Period using the
All period type.
This method should be used to exract the field values describing the
difference between the start and end instants.
a time period derived from the interval |
toPeriod | public Period toPeriod(PeriodType type)(Code) | | Converts the duration of the interval to a Period using the
specified period type.
This method should be used to exract the field values describing the
difference between the start and end instants.
Parameters: type - the requested type of the duration, null means AllType a time period derived from the interval |
toString | public String toString()(Code) | | Output a string in ISO8601 interval format.
re-parsable string |
|
|
|