org.joda.time
Class LocalTime.Property

java.lang.Object
  extended byorg.joda.time.field.AbstractReadableInstantFieldProperty
      extended byorg.joda.time.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:
Serialized Form

Method Summary
 LocalTime addCopy(int value)
          Adds to this field in a copy of this LocalTime.
 LocalTime addCopy(long value)
          Adds to this field in a copy of this LocalTime.
 LocalTime addNoWrapToCopy(int value)
          Adds to this field in a copy of this LocalTime.
 LocalTime addWrapFieldToCopy(int value)
          Adds to this field, possibly wrapped, in a copy of this LocalTime.
 DateTimeField getField()
          Gets the field being used.
 LocalTime getLocalTime()
          Gets the LocalTime object linked to this property.
 LocalTime roundCeilingCopy()
          Rounds to the highest whole unit of this field on a copy of this LocalTime.
 LocalTime roundFloorCopy()
          Rounds to the lowest whole unit of this field on a copy of this LocalTime.
 LocalTime roundHalfCeilingCopy()
          Rounds to the nearest whole unit of this field on a copy of this LocalTime, favoring the ceiling if halfway.
 LocalTime roundHalfEvenCopy()
          Rounds to the nearest whole unit of this field on a copy of this LocalTime.
 LocalTime roundHalfFloorCopy()
          Rounds to the nearest whole unit of this field on a copy of this LocalTime, favoring the floor if halfway.
 LocalTime setCopy(int value)
          Sets this field in a copy of the LocalTime.
 LocalTime setCopy(String text)
          Sets this field in a copy of the LocalTime to a parsed text value.
 LocalTime setCopy(String text, Locale locale)
          Sets this field in a copy of the LocalTime to a parsed text value.
 LocalTime withMaximumValue()
          Returns a new LocalTime with this field set to the maximum value for this field.
 LocalTime withMinimumValue()
          Returns a new LocalTime with this field set to the minimum value for this field.
 
Methods inherited from class org.joda.time.field.AbstractReadableInstantFieldProperty
compareTo, compareTo, equals, get, getAsShortText, getAsShortText, getAsString, getAsText, getAsText, getDifference, getDifferenceAsLong, getDurationField, getFieldType, getLeapAmount, getLeapDurationField, getMaximumShortTextLength, getMaximumTextLength, getMaximumValue, getMaximumValueOverall, getMinimumValue, getMinimumValueOverall, getName, getRangeDurationField, hashCode, isLeap, remainder, toInterval, toString
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 

Method Detail

getField

public DateTimeField getField()
Gets the field being used.

Specified by:
getField in class AbstractReadableInstantFieldProperty
Returns:
the field

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


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