Package org.joda.time

Class LocalTime.Property

  • All Implemented Interfaces:
    java.io.Serializable
    Enclosing class:
    LocalTime

    public static final class LocalTime.Property
    extends AbstractReadableInstantFieldProperty
    LocalTime.Property binds a LocalTime to a DateTimeField allowing powerful datetime functionality to be easily accessed.

    The simplest use of this class is as an alternative get method, here used to get the minute '30'.

     LocalTime dt = new LocalTime(12, 30);
     int year = dt.minuteOfHour().get();
     

    Methods are also provided that allow time modification. These return new instances of LocalTime - they do not modify the original. The example below yields two independent immutable date objects 2 hours apart.

     LocalTime dt1230 = new LocalTime(12, 30);
     LocalTime dt1430 = dt1230.hourOfDay().setCopy(14);
     

    LocalTime.Property itself is thread-safe and immutable, as well as the LocalTime being operated on.

    Since:
    1.3
    See Also:
    Serialized Form
    • Method Detail

      • getLocalTime

        public LocalTime getLocalTime()
        Gets the LocalTime object linked to this property.
        Returns:
        the linked LocalTime
      • addCopy

        public LocalTime addCopy​(int value)
        Adds to this field in a copy of this LocalTime.

        The LocalTime attached to this property is unchanged by this call.

        Parameters:
        value - the value to add to the field in the copy
        Returns:
        a copy of the LocalTime with the field value changed
      • addCopy

        public LocalTime addCopy​(long value)
        Adds to this field in a copy of this LocalTime. If the addition exceeds the maximum value (eg. 23:59) it will wrap to the minimum value (eg. 00:00).

        The LocalTime attached to this property is unchanged by this call.

        Parameters:
        value - the value to add to the field in the copy
        Returns:
        a copy of the LocalTime with the field value changed
      • addNoWrapToCopy

        public LocalTime addNoWrapToCopy​(int value)
        Adds to this field in a copy of this LocalTime. If the addition exceeds the maximum value (eg. 23:59) then an exception will be thrown. Contrast this behaviour to addCopy(int).

        The LocalTime attached to this property is unchanged by this call.

        Parameters:
        value - the value to add to the field in the copy
        Returns:
        a copy of the LocalTime with the field value changed
        Throws:
        java.lang.IllegalArgumentException - if the result is invalid
      • addWrapFieldToCopy

        public LocalTime addWrapFieldToCopy​(int value)
        Adds to this field, possibly wrapped, in a copy of this LocalTime. A field wrapped operation only changes this field. Thus 10:59 plusWrapField one minute goes to 10:00.

        The LocalTime attached to this property is unchanged by this call.

        Parameters:
        value - the value to add to the field in the copy
        Returns:
        a copy of the LocalTime with the field value changed
        Throws:
        java.lang.IllegalArgumentException - if the value isn't valid
      • setCopy

        public LocalTime setCopy​(int value)
        Sets this field in a copy of the LocalTime.

        The LocalTime attached to this property is unchanged by this call.

        Parameters:
        value - the value to set the field in the copy to
        Returns:
        a copy of the LocalTime with the field value changed
        Throws:
        java.lang.IllegalArgumentException - if the value isn't valid
      • setCopy

        public LocalTime setCopy​(java.lang.String text,
                                 java.util.Locale locale)
        Sets this field in a copy of the LocalTime to a parsed text value.

        The LocalTime attached to this property is unchanged by this call.

        Parameters:
        text - the text value to set
        locale - optional locale to use for selecting a text symbol
        Returns:
        a copy of the LocalTime with the field value changed
        Throws:
        java.lang.IllegalArgumentException - if the text value isn't valid
      • setCopy

        public LocalTime setCopy​(java.lang.String text)
        Sets this field in a copy of the LocalTime to a parsed text value.

        The LocalTime attached to this property is unchanged by this call.

        Parameters:
        text - the text value to set
        Returns:
        a copy of the LocalTime with the field value changed
        Throws:
        java.lang.IllegalArgumentException - if the text value isn't valid
      • withMaximumValue

        public LocalTime withMaximumValue()
        Returns a new LocalTime with this field set to the maximum value for this field.

        The LocalTime attached to this property is unchanged by this call.

        Returns:
        a copy of the LocalTime with this field set to its maximum
      • withMinimumValue

        public LocalTime withMinimumValue()
        Returns a new LocalTime with this field set to the minimum value for this field.

        The LocalTime attached to this property is unchanged by this call.

        Returns:
        a copy of the LocalTime with this field set to its minimum
      • roundFloorCopy

        public LocalTime roundFloorCopy()
        Rounds to the lowest whole unit of this field on a copy of this LocalTime.

        For example, rounding floor on the hourOfDay field of a LocalTime where the time is 10:30 would result in new LocalTime with the time of 10:00.

        Returns:
        a copy of the LocalTime with the field value changed
      • roundCeilingCopy

        public LocalTime roundCeilingCopy()
        Rounds to the highest whole unit of this field on a copy of this LocalTime.

        For example, rounding floor on the hourOfDay field of a LocalTime where the time is 10:30 would result in new LocalTime with the time of 11:00.

        Returns:
        a copy of the LocalTime with the field value changed
      • roundHalfFloorCopy

        public LocalTime roundHalfFloorCopy()
        Rounds to the nearest whole unit of this field on a copy of this LocalTime, favoring the floor if halfway.
        Returns:
        a copy of the LocalTime with the field value changed
      • roundHalfCeilingCopy

        public LocalTime roundHalfCeilingCopy()
        Rounds to the nearest whole unit of this field on a copy of this LocalTime, favoring the ceiling if halfway.
        Returns:
        a copy of the LocalTime with the field value changed
      • roundHalfEvenCopy

        public LocalTime roundHalfEvenCopy()
        Rounds to the nearest whole unit of this field on a copy of this LocalTime. If halfway, the ceiling is favored over the floor only if it makes this field's value even.
        Returns:
        a copy of the LocalTime with the field value changed