Package org.joda.time
Interface ReadWritablePeriod
-
- All Superinterfaces:
ReadablePeriod
- All Known Implementing Classes:
MutablePeriod
public interface ReadWritablePeriod extends ReadablePeriod
Defines a duration of time that can be queried and modified using datetime fields.The implementation of this interface will be mutable. It may provide more advanced methods than those in the interface.
- Since:
- 1.0
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
add(int years, int months, int weeks, int days, int hours, int minutes, int seconds, int millis)
Adds to each field of this period.void
add(DurationFieldType field, int value)
Adds to the value of one of the fields.void
add(ReadableInterval interval)
Adds an interval to this one by dividing the interval into fields and then adding each field in turn.void
add(ReadablePeriod period)
Adds a period to this one by adding each field in turn.void
addDays(int days)
Adds the specified days to the number of days in the period.void
addHours(int hours)
Adds the specified hours to the number of hours in the period.void
addMillis(int millis)
Adds the specified millis to the number of millis in the period.void
addMinutes(int minutes)
Adds the specified minutes to the number of minutes in the period.void
addMonths(int months)
Adds the specified months to the number of months in the period.void
addSeconds(int seconds)
Adds the specified seconds to the number of seconds in the period.void
addWeeks(int weeks)
Adds the specified weeks to the number of weeks in the period.void
addYears(int years)
Adds the specified years to the number of years in the period.void
clear()
Clears the period, setting all values back to zero.void
set(DurationFieldType field, int value)
Sets the value of one of the fields.void
setDays(int days)
Sets the number of days of the period.void
setHours(int hours)
Sets the number of hours of the period.void
setMillis(int millis)
Sets the number of millis of the period.void
setMinutes(int minutes)
Sets the number of minutes of the period.void
setMonths(int months)
Sets the number of months of the period.void
setPeriod(int years, int months, int weeks, int days, int hours, int minutes, int seconds, int millis)
Sets all the fields in one go.void
setPeriod(ReadableInterval interval)
Sets all the fields in one go from an interval dividing the fields using the period type.void
setPeriod(ReadablePeriod period)
Sets all the fields in one go from another ReadablePeriod.void
setSeconds(int seconds)
Sets the number of seconds of the period.void
setValue(int index, int value)
Sets the value of one of the fields by index.void
setWeeks(int weeks)
Sets the number of weeks of the period.void
setYears(int years)
Sets the number of years of the period.-
Methods inherited from interface org.joda.time.ReadablePeriod
equals, get, getFieldType, getPeriodType, getValue, hashCode, isSupported, size, toMutablePeriod, toPeriod, toString
-
-
-
-
Method Detail
-
clear
void clear()
Clears the period, setting all values back to zero.
-
setValue
void setValue(int index, int value)
Sets the value of one of the fields by index.- Parameters:
index
- the field indexvalue
- the new value for the field- Throws:
java.lang.IndexOutOfBoundsException
- if the index is invalid
-
set
void set(DurationFieldType field, int value)
Sets the value of one of the fields.The field type specified must be one of those that is supported by the period.
- Parameters:
field
- a DurationFieldType instance that is supported by this periodvalue
- the new value for the field- Throws:
java.lang.IllegalArgumentException
- if the field is null or not supported
-
setPeriod
void setPeriod(ReadablePeriod period)
Sets all the fields in one go from another ReadablePeriod.- Parameters:
period
- the period to set, null means zero length period- Throws:
java.lang.IllegalArgumentException
- if an unsupported field's value is non-zero
-
setPeriod
void setPeriod(int years, int months, int weeks, int days, int hours, int minutes, int seconds, int millis)
Sets all the fields in one go.- Parameters:
years
- amount of years in this period, which must be zero if unsupportedmonths
- amount of months in this period, which must be zero if unsupportedweeks
- amount of weeks in this period, which must be zero if unsupporteddays
- amount of days in this period, which must be zero if unsupportedhours
- amount of hours in this period, which must be zero if unsupportedminutes
- amount of minutes in this period, which must be zero if unsupportedseconds
- amount of seconds in this period, which must be zero if unsupportedmillis
- amount of milliseconds in this period, which must be zero if unsupported- Throws:
java.lang.IllegalArgumentException
- if an unsupported field's value is non-zero
-
setPeriod
void setPeriod(ReadableInterval interval)
Sets all the fields in one go from an interval dividing the fields using the period type.- Parameters:
interval
- the interval to set, null means zero length
-
add
void add(DurationFieldType field, int value)
Adds to the value of one of the fields.The field type specified must be one of those that is supported by the period.
- Parameters:
field
- a DurationFieldType instance that is supported by this periodvalue
- the value to add to the field- Throws:
java.lang.IllegalArgumentException
- if the field is null or not supported
-
add
void add(ReadablePeriod period)
Adds a period to this one by adding each field in turn.- Parameters:
period
- the period to add, null means add nothing- Throws:
java.lang.IllegalArgumentException
- if the period being added contains a field not supported by this periodjava.lang.ArithmeticException
- if the addition exceeds the capacity of the period
-
add
void add(int years, int months, int weeks, int days, int hours, int minutes, int seconds, int millis)
Adds to each field of this period.- Parameters:
years
- amount of years to add to this period, which must be zero if unsupportedmonths
- amount of months to add to this period, which must be zero if unsupportedweeks
- amount of weeks to add to this period, which must be zero if unsupporteddays
- amount of days to add to this period, which must be zero if unsupportedhours
- amount of hours to add to this period, which must be zero if unsupportedminutes
- amount of minutes to add to this period, which must be zero if unsupportedseconds
- amount of seconds to add to this period, which must be zero if unsupportedmillis
- amount of milliseconds to add to this period, which must be zero if unsupported- Throws:
java.lang.IllegalArgumentException
- if the period being added contains a field not supported by this periodjava.lang.ArithmeticException
- if the addition exceeds the capacity of the period
-
add
void add(ReadableInterval interval)
Adds an interval to this one by dividing the interval into fields and then adding each field in turn.- Parameters:
interval
- the interval to add, null means add nothing- Throws:
java.lang.ArithmeticException
- if the addition exceeds the capacity of the period
-
setYears
void setYears(int years)
Sets the number of years of the period.- Parameters:
years
- the number of years- Throws:
java.lang.IllegalArgumentException
- if field is not supported and the value is non-zero
-
addYears
void addYears(int years)
Adds the specified years to the number of years in the period.- Parameters:
years
- the number of years- Throws:
java.lang.IllegalArgumentException
- if field is not supported and the value is non-zerojava.lang.ArithmeticException
- if the addition exceeds the capacity of the period
-
setMonths
void setMonths(int months)
Sets the number of months of the period.- Parameters:
months
- the number of months- Throws:
java.lang.IllegalArgumentException
- if field is not supported and the value is non-zero
-
addMonths
void addMonths(int months)
Adds the specified months to the number of months in the period.- Parameters:
months
- the number of months- Throws:
java.lang.IllegalArgumentException
- if field is not supported and the value is non-zerojava.lang.ArithmeticException
- if the addition exceeds the capacity of the period
-
setWeeks
void setWeeks(int weeks)
Sets the number of weeks of the period.- Parameters:
weeks
- the number of weeks- Throws:
java.lang.IllegalArgumentException
- if field is not supported and the value is non-zero
-
addWeeks
void addWeeks(int weeks)
Adds the specified weeks to the number of weeks in the period.- Parameters:
weeks
- the number of weeks- Throws:
java.lang.IllegalArgumentException
- if field is not supported and the value is non-zerojava.lang.ArithmeticException
- if the addition exceeds the capacity of the period
-
setDays
void setDays(int days)
Sets the number of days of the period.- Parameters:
days
- the number of days- Throws:
java.lang.IllegalArgumentException
- if field is not supported and the value is non-zero
-
addDays
void addDays(int days)
Adds the specified days to the number of days in the period.- Parameters:
days
- the number of days- Throws:
java.lang.IllegalArgumentException
- if field is not supported and the value is non-zerojava.lang.ArithmeticException
- if the addition exceeds the capacity of the period
-
setHours
void setHours(int hours)
Sets the number of hours of the period.- Parameters:
hours
- the number of hours- Throws:
java.lang.IllegalArgumentException
- if field is not supported and the value is non-zero
-
addHours
void addHours(int hours)
Adds the specified hours to the number of hours in the period.- Parameters:
hours
- the number of hours- Throws:
java.lang.IllegalArgumentException
- if field is not supported and the value is non-zerojava.lang.ArithmeticException
- if the addition exceeds the capacity of the period
-
setMinutes
void setMinutes(int minutes)
Sets the number of minutes of the period.- Parameters:
minutes
- the number of minutes- Throws:
java.lang.IllegalArgumentException
- if field is not supported and the value is non-zero
-
addMinutes
void addMinutes(int minutes)
Adds the specified minutes to the number of minutes in the period.- Parameters:
minutes
- the number of minutes- Throws:
java.lang.IllegalArgumentException
- if field is not supported and the value is non-zerojava.lang.ArithmeticException
- if the addition exceeds the capacity of the period
-
setSeconds
void setSeconds(int seconds)
Sets the number of seconds of the period.- Parameters:
seconds
- the number of seconds- Throws:
java.lang.IllegalArgumentException
- if field is not supported and the value is non-zero
-
addSeconds
void addSeconds(int seconds)
Adds the specified seconds to the number of seconds in the period.- Parameters:
seconds
- the number of seconds- Throws:
java.lang.IllegalArgumentException
- if field is not supported and the value is non-zerojava.lang.ArithmeticException
- if the addition exceeds the capacity of the period
-
setMillis
void setMillis(int millis)
Sets the number of millis of the period.- Parameters:
millis
- the number of millis- Throws:
java.lang.IllegalArgumentException
- if field is not supported and the value is non-zero
-
addMillis
void addMillis(int millis)
Adds the specified millis to the number of millis in the period.- Parameters:
millis
- the number of millis- Throws:
java.lang.IllegalArgumentException
- if field is not supported and the value is non-zerojava.lang.ArithmeticException
- if the addition exceeds the capacity of the period
-
-