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
Author:
Brian S O'Neill, Stephen Colebourne

Method Summary
 void add(DurationFieldType field, int value)
          Adds to the value of one of the fields.
 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(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

public void clear()
Clears the period, setting all values back to zero.


setValue

public void setValue(int index,
                     int value)
Sets the value of one of the fields by index.

Parameters:
index - the field index
value - the new value for the field
Throws:
IndexOutOfBoundsException - if the index is invalid

set

public 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 period
value - the new value for the field
Throws:
IllegalArgumentException - if the field is null or not supported

setPeriod

public 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:
IllegalArgumentException - if an unsupported field's value is non-zero

setPeriod

public 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 unsupported
months - amount of months in this period, which must be zero if unsupported
weeks - amount of weeks in this period, which must be zero if unsupported
days - amount of days in this period, which must be zero if unsupported
hours - amount of hours in this period, which must be zero if unsupported
minutes - amount of minutes in this period, which must be zero if unsupported
seconds - amount of seconds in this period, which must be zero if unsupported
millis - amount of milliseconds in this period, which must be zero if unsupported
Throws:
IllegalArgumentException - if an unsupported field's value is non-zero

setPeriod

public 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

public 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 period
value - the value to add to the field
Throws:
IllegalArgumentException - if the field is null or not supported

add

public 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:
IllegalArgumentException - if the period being added contains a field not supported by this period
ArithmeticException - if the addition exceeds the capacity of the period

add

public 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 unsupported
months - amount of months to add to this period, which must be zero if unsupported
weeks - amount of weeks to add to this period, which must be zero if unsupported
days - amount of days to add to this period, which must be zero if unsupported
hours - amount of hours to add to this period, which must be zero if unsupported
minutes - amount of minutes to add to this period, which must be zero if unsupported
seconds - amount of seconds to add to this period, which must be zero if unsupported
millis - amount of milliseconds to add to this period, which must be zero if unsupported
Throws:
IllegalArgumentException - if the period being added contains a field not supported by this period
ArithmeticException - if the addition exceeds the capacity of the period

add

public 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:
ArithmeticException - if the addition exceeds the capacity of the period

setYears

public void setYears(int years)
Sets the number of years of the period.

Parameters:
years - the number of years
Throws:
IllegalArgumentException - if field is not supported and the value is non-zero

addYears

public void addYears(int years)
Adds the specified years to the number of years in the period.

Parameters:
years - the number of years
Throws:
IllegalArgumentException - if field is not supported and the value is non-zero
ArithmeticException - if the addition exceeds the capacity of the period

setMonths

public void setMonths(int months)
Sets the number of months of the period.

Parameters:
months - the number of months
Throws:
IllegalArgumentException - if field is not supported and the value is non-zero

addMonths

public void addMonths(int months)
Adds the specified months to the number of months in the period.

Parameters:
months - the number of months
Throws:
IllegalArgumentException - if field is not supported and the value is non-zero
ArithmeticException - if the addition exceeds the capacity of the period

setWeeks

public void setWeeks(int weeks)
Sets the number of weeks of the period.

Parameters:
weeks - the number of weeks
Throws:
IllegalArgumentException - if field is not supported and the value is non-zero

addWeeks

public void addWeeks(int weeks)
Adds the specified weeks to the number of weeks in the period.

Parameters:
weeks - the number of weeks
Throws:
IllegalArgumentException - if field is not supported and the value is non-zero
ArithmeticException - if the addition exceeds the capacity of the period

setDays

public void setDays(int days)
Sets the number of days of the period.

Parameters:
days - the number of days
Throws:
IllegalArgumentException - if field is not supported and the value is non-zero

addDays

public void addDays(int days)
Adds the specified days to the number of days in the period.

Parameters:
days - the number of days
Throws:
IllegalArgumentException - if field is not supported and the value is non-zero
ArithmeticException - if the addition exceeds the capacity of the period

setHours

public void setHours(int hours)
Sets the number of hours of the period.

Parameters:
hours - the number of hours
Throws:
IllegalArgumentException - if field is not supported and the value is non-zero

addHours

public void addHours(int hours)
Adds the specified hours to the number of hours in the period.

Parameters:
hours - the number of hours
Throws:
IllegalArgumentException - if field is not supported and the value is non-zero
ArithmeticException - if the addition exceeds the capacity of the period

setMinutes

public void setMinutes(int minutes)
Sets the number of minutes of the period.

Parameters:
minutes - the number of minutes
Throws:
IllegalArgumentException - if field is not supported and the value is non-zero

addMinutes

public void addMinutes(int minutes)
Adds the specified minutes to the number of minutes in the period.

Parameters:
minutes - the number of minutes
Throws:
IllegalArgumentException - if field is not supported and the value is non-zero
ArithmeticException - if the addition exceeds the capacity of the period

setSeconds

public void setSeconds(int seconds)
Sets the number of seconds of the period.

Parameters:
seconds - the number of seconds
Throws:
IllegalArgumentException - if field is not supported and the value is non-zero

addSeconds

public void addSeconds(int seconds)
Adds the specified seconds to the number of seconds in the period.

Parameters:
seconds - the number of seconds
Throws:
IllegalArgumentException - if field is not supported and the value is non-zero
ArithmeticException - if the addition exceeds the capacity of the period

setMillis

public void setMillis(int millis)
Sets the number of millis of the period.

Parameters:
millis - the number of millis
Throws:
IllegalArgumentException - if field is not supported and the value is non-zero

addMillis

public void addMillis(int millis)
Adds the specified millis to the number of millis in the period.

Parameters:
millis - the number of millis
Throws:
IllegalArgumentException - if field is not supported and the value is non-zero
ArithmeticException - if the addition exceeds the capacity of the period


Copyright © 2002-2008 Joda.org. All Rights Reserved.