public class MutableInterval extends BaseInterval implements ReadWritableInterval, java.lang.Cloneable, java.io.Serializable
A time interval represents a period of time between two instants. Intervals are inclusive of the start instant and exclusive of the end. The end instant is always greater than or equal to the start instant.
Intervals have a fixed millisecond duration.
This is the difference between the start and end instants.
The duration is represented separately by ReadableDuration
.
As a result, intervals are not comparable.
To compare the length of two intervals, you should compare their durations.
An interval can also be converted to a ReadablePeriod
.
This represents the difference between the start and end points in terms of fields
such as years and days.
If performing significant calculations on an interval, it may be faster to convert an Interval object to a MutableInterval one.
MutableInterval is mutable and not thread-safe, unless concurrent threads are not invoking mutator methods.
Constructor and Description |
---|
MutableInterval()
Constructs a zero length time interval from 1970-01-01 to 1970-01-01.
|
MutableInterval(long startInstant,
long endInstant)
Constructs an interval from a start and end instant with the ISO default chronology.
|
MutableInterval(long startInstant,
long endInstant,
Chronology chronology)
Constructs an interval from a start and end instant with a chronology.
|
MutableInterval(java.lang.Object interval)
Constructs a time interval by converting or copying from another object.
|
MutableInterval(java.lang.Object interval,
Chronology chronology)
Constructs a time interval by converting or copying from another object,
overriding the chronology.
|
MutableInterval(ReadableDuration duration,
ReadableInstant end)
Constructs an interval from a millisecond duration and an end instant.
|
MutableInterval(ReadableInstant start,
ReadableDuration duration)
Constructs an interval from a start instant and a duration.
|
MutableInterval(ReadableInstant start,
ReadableInstant end)
Constructs an interval from a start and end instant.
|
MutableInterval(ReadableInstant start,
ReadablePeriod period)
Constructs an interval from a start instant and a time period.
|
MutableInterval(ReadablePeriod period,
ReadableInstant end)
Constructs an interval from a time period and an end instant.
|
Modifier and Type | Method and Description |
---|---|
java.lang.Object |
clone()
Clone this object.
|
MutableInterval |
copy()
Clone this object without having to cast the returned object.
|
static MutableInterval |
parse(java.lang.String str)
Parses a
MutableInterval from the specified string. |
void |
setChronology(Chronology chrono)
Sets the chronology of this time interval.
|
void |
setDurationAfterStart(long duration)
Sets the duration of this time interval, preserving the start instant.
|
void |
setDurationAfterStart(ReadableDuration duration)
Sets the duration of this time interval, preserving the start instant.
|
void |
setDurationBeforeEnd(long duration)
Sets the duration of this time interval, preserving the end instant.
|
void |
setDurationBeforeEnd(ReadableDuration duration)
Sets the duration of this time interval, preserving the end instant.
|
void |
setEnd(ReadableInstant end)
Sets the end of this time interval as an Instant.
|
void |
setEndMillis(long endInstant)
Sets the end of this time interval.
|
void |
setInterval(long startInstant,
long endInstant)
Sets this interval from two millisecond instants retaining the chronology.
|
void |
setInterval(ReadableInstant start,
ReadableInstant end)
Sets this interval from two instants, replacing the chronology with
that from the start instant.
|
void |
setInterval(ReadableInterval interval)
Sets this interval to be the same as another.
|
void |
setPeriodAfterStart(ReadablePeriod period)
Sets the period of this time interval, preserving the start instant
and using the ISOChronology in the default zone for calculations.
|
void |
setPeriodBeforeEnd(ReadablePeriod period)
Sets the period of this time interval, preserving the end instant
and using the ISOChronology in the default zone for calculations.
|
void |
setStart(ReadableInstant start)
Sets the start of this time interval as an Instant.
|
void |
setStartMillis(long startInstant)
Sets the start of this time interval.
|
getChronology, getEndMillis, getStartMillis
contains, contains, contains, containsNow, equals, getEnd, getStart, hashCode, isAfter, isAfter, isAfter, isAfterNow, isBefore, isBefore, isBefore, isBeforeNow, isEqual, overlaps, toDuration, toDurationMillis, toInterval, toMutableInterval, toPeriod, toPeriod, toString
contains, contains, equals, getChronology, getEnd, getEndMillis, getStart, getStartMillis, hashCode, isAfter, isAfter, isBefore, isBefore, overlaps, toDuration, toDurationMillis, toInterval, toMutableInterval, toPeriod, toPeriod, toString
public MutableInterval()
public MutableInterval(long startInstant, long endInstant)
startInstant
- start of this interval, as milliseconds from 1970-01-01T00:00:00Z.endInstant
- end of this interval, as milliseconds from 1970-01-01T00:00:00Z.java.lang.IllegalArgumentException
- if the end is before the startpublic MutableInterval(long startInstant, long endInstant, Chronology chronology)
chronology
- the chronology to use, null is ISO defaultstartInstant
- start of this interval, as milliseconds from 1970-01-01T00:00:00Z.endInstant
- end of this interval, as milliseconds from 1970-01-01T00:00:00Z.java.lang.IllegalArgumentException
- if the end is before the startpublic MutableInterval(ReadableInstant start, ReadableInstant end)
The chronology used is that of the start instant.
start
- start of this interval, null means nowend
- end of this interval, null means nowjava.lang.IllegalArgumentException
- if the end is before the startpublic MutableInterval(ReadableInstant start, ReadableDuration duration)
start
- start of this interval, null means nowduration
- the duration of this interval, null means zero lengthjava.lang.IllegalArgumentException
- if the end is before the startjava.lang.ArithmeticException
- if the end instant exceeds the capacity of a longpublic MutableInterval(ReadableDuration duration, ReadableInstant end)
duration
- the duration of this interval, null means zero lengthend
- end of this interval, null means nowjava.lang.IllegalArgumentException
- if the end is before the startjava.lang.ArithmeticException
- if the start instant exceeds the capacity of a longpublic MutableInterval(ReadableInstant start, ReadablePeriod period)
When forming the interval, the chronology from the instant is used if present, otherwise the chronology of the period is used.
start
- start of this interval, null means nowperiod
- the period of this interval, null means zero lengthjava.lang.IllegalArgumentException
- if the end is before the startjava.lang.ArithmeticException
- if the end instant exceeds the capacity of a longpublic MutableInterval(ReadablePeriod period, ReadableInstant end)
When forming the interval, the chronology from the instant is used if present, otherwise the chronology of the period is used.
period
- the period of this interval, null means zero lengthend
- end of this interval, null means nowjava.lang.IllegalArgumentException
- if the end is before the startjava.lang.ArithmeticException
- if the start instant exceeds the capacity of a longpublic MutableInterval(java.lang.Object interval)
The recognised object types are defined in
ConverterManager
and
include ReadableInterval and String.
The String formats are described by ISODateTimeFormat.dateTimeParser()
and ISOPeriodFormat.standard()
, and may be 'datetime/datetime',
'datetime/period' or 'period/datetime'.
interval
- the time interval to copyjava.lang.IllegalArgumentException
- if the interval is invalidpublic MutableInterval(java.lang.Object interval, Chronology chronology)
The recognised object types are defined in
ConverterManager
and
include ReadableInterval and String.
The String formats are described by ISODateTimeFormat.dateTimeParser()
and ISOPeriodFormat.standard()
, and may be 'datetime/datetime',
'datetime/period' or 'period/datetime'.
interval
- the time interval to copychronology
- the chronology to use, null means ISO defaultjava.lang.IllegalArgumentException
- if the interval is invalidpublic static MutableInterval parse(java.lang.String str)
MutableInterval
from the specified string.
The String formats are described by ISODateTimeFormat.dateTimeParser()
and ISOPeriodFormat.standard()
, and may be 'datetime/datetime',
'datetime/period' or 'period/datetime'.
str
- the string to parse, not nullpublic void setInterval(long startInstant, long endInstant)
setInterval
in interface ReadWritableInterval
startInstant
- the start of the time intervalendInstant
- the start of the time intervaljava.lang.IllegalArgumentException
- if the end is before the startpublic void setInterval(ReadableInterval interval)
setInterval
in interface ReadWritableInterval
interval
- the interval to copyjava.lang.IllegalArgumentException
- if the interval is nullpublic void setInterval(ReadableInstant start, ReadableInstant end)
setInterval
in interface ReadWritableInterval
start
- the start of the time intervalend
- the start of the time intervaljava.lang.IllegalArgumentException
- if the end is before the startpublic void setChronology(Chronology chrono)
setChronology
in interface ReadWritableInterval
chrono
- the chronology to use, null means ISO defaultpublic void setStartMillis(long startInstant)
setStartMillis
in interface ReadWritableInterval
startInstant
- the start of the time interval,
millisecond instant from 1970-01-01T00:00:00Zjava.lang.IllegalArgumentException
- if the end is before the startpublic void setStart(ReadableInstant start)
setStart
in interface ReadWritableInterval
start
- the start of the time interval, null means nowjava.lang.IllegalArgumentException
- if the end is before the startpublic void setEndMillis(long endInstant)
setEndMillis
in interface ReadWritableInterval
endInstant
- the end of the time interval,
millisecond instant from 1970-01-01T00:00:00Zjava.lang.IllegalArgumentException
- if the end is before the startpublic void setEnd(ReadableInstant end)
setEnd
in interface ReadWritableInterval
end
- the end of the time interval, null means nowjava.lang.IllegalArgumentException
- if the end is before the startpublic void setDurationAfterStart(long duration)
duration
- new duration for intervaljava.lang.IllegalArgumentException
- if the end is before the startjava.lang.ArithmeticException
- if the end instant exceeds the capacity of a longpublic void setDurationBeforeEnd(long duration)
duration
- new duration for intervaljava.lang.IllegalArgumentException
- if the end is before the startjava.lang.ArithmeticException
- if the start instant exceeds the capacity of a longpublic void setDurationAfterStart(ReadableDuration duration)
setDurationAfterStart
in interface ReadWritableInterval
duration
- new duration for interval, null means zero lengthjava.lang.IllegalArgumentException
- if the end is before the startjava.lang.ArithmeticException
- if the end instant exceeds the capacity of a longpublic void setDurationBeforeEnd(ReadableDuration duration)
setDurationBeforeEnd
in interface ReadWritableInterval
duration
- new duration for interval, null means zero lengthjava.lang.IllegalArgumentException
- if the end is before the startjava.lang.ArithmeticException
- if the start instant exceeds the capacity of a longpublic void setPeriodAfterStart(ReadablePeriod period)
setPeriodAfterStart
in interface ReadWritableInterval
period
- new period for interval, null means zero lengthjava.lang.IllegalArgumentException
- if the end is before the startjava.lang.ArithmeticException
- if the end instant exceeds the capacity of a longpublic void setPeriodBeforeEnd(ReadablePeriod period)
setPeriodBeforeEnd
in interface ReadWritableInterval
period
- new period for interval, null means zero lengthjava.lang.IllegalArgumentException
- if the end is before the startjava.lang.ArithmeticException
- if the start instant exceeds the capacity of a longpublic MutableInterval copy()
public java.lang.Object clone()
clone
in class java.lang.Object
"Copyright © 2010 - 2020 Adobe Systems Incorporated. All Rights Reserved"