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.
    • 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 index
        value - 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 period
        value - 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 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:
        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 period
        value - 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 period
        java.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 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:
        java.lang.IllegalArgumentException - if the period being added contains a field not supported by this period
        java.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-zero
        java.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-zero
        java.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-zero
        java.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-zero
        java.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-zero
        java.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-zero
        java.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-zero
        java.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-zero
        java.lang.ArithmeticException - if the addition exceeds the capacity of the period