Package org.joda.time

Class LocalTime.Property

All Implemented Interfaces:
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
Author:
Stephen Colebourne, Brian S O'Neill
See Also:
  • Method Details

    • getField

      public DateTimeField getField()
      Gets the field being used.
      Specified by:
      getField in class AbstractReadableInstantFieldProperty
      Returns:
      the field
    • getMillis

      protected long getMillis()
      Gets the milliseconds of the time that this property is linked to.
      Specified by:
      getMillis in class AbstractReadableInstantFieldProperty
      Returns:
      the milliseconds
    • getChronology

      protected Chronology getChronology()
      Gets the chronology of the datetime that this property is linked to.
      Overrides:
      getChronology in class AbstractReadableInstantFieldProperty
      Returns:
      the chronology
      Since:
      1.4
    • 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:
      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:
      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:
      IllegalArgumentException - if the value isn't valid
    • setCopy

      public LocalTime setCopy(String text, 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:
      IllegalArgumentException - if the text value isn't valid
    • setCopy

      public LocalTime setCopy(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:
      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