Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.joda.time
Class DateMidnight.Property

    java.lang.Object
      org.joda.time.field.AbstractReadableInstantFieldProperty
          org.joda.time.DateMidnight.Property

All Implemented Interfaces:
  java.io.Serializable

Enclosing class:
  DateMidnight

    public static final class DateMidnight.Property

extends AbstractReadableInstantFieldProperty

DateMidnight.Property binds a DateMidnight 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 year '1972' (as an int) and the month 'December' (as a String).

     DateMidnight dt = new DateMidnight(1972, 12, 3);
     int year = dt.year().get();
     String monthStr = dt.monthOfYear().getAsText();

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

     DateMidnight dt = new DateMidnight(1972, 12, 3);
     DateMidnight dt20 = dt.year().addToCopy(20);

Serious modification of dates (ie. more than just changing one or two fields) should use the `MutableDateTime` class.

DateMidnight.Property itself is thread-safe and immutable.

Since:
  1.0
Author:
  Stephen Colebourne, Brian S O'Neill
See Also:
  Serialized Form

Method Summary
`DateMidnight` | `addToCopy(int value)` Adds to this field in a copy of this DateMidnight.
`DateMidnight` | `addToCopy(long value)` Adds to this field in a copy of this DateMidnight.
`DateMidnight` | `addWrapFieldToCopy(int value)` Adds to this field, possibly wrapped, in a copy of this DateMidnight.
`protected Chronology` | `getChronology()` Gets the chronology of the datetime that this property is linked to.
`DateMidnight` | `getDateMidnight()` Gets the datetime being used.
`DateTimeField` | `getField()` Gets the field being used.
`protected long` | `getMillis()` Gets the milliseconds of the datetime that this property is linked to.
`DateMidnight` | `roundCeilingCopy()` Rounds to the highest whole unit of this field on a copy of this DateMidnight.
`DateMidnight` | `roundFloorCopy()` Rounds to the lowest whole unit of this field on a copy of this DateMidnight.
`DateMidnight` | `roundHalfCeilingCopy()` Rounds to the nearest whole unit of this field on a copy of this DateMidnight, favoring the ceiling if halfway.
`DateMidnight` | `roundHalfEvenCopy()` Rounds to the nearest whole unit of this field on a copy of this DateMidnight.
`DateMidnight` | `roundHalfFloorCopy()` Rounds to the nearest whole unit of this field on a copy of this DateMidnight, favoring the floor if halfway.
`DateMidnight` | `setCopy(int value)` Sets this field in a copy of the DateMidnight.
`DateMidnight` | `setCopy(java.lang.String text)` Sets this field in a copy of the DateMidnight to a parsed text value.
`DateMidnight` | `setCopy(java.lang.String text, java.util.Locale locale)` Sets this field in a copy of the DateMidnight to a parsed text value.
`DateMidnight` | `withMaximumValue()` Returns a new DateMidnight with this field set to the maximum value for this field.
`DateMidnight` | `withMinimumValue()` Returns a new DateMidnight 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
`clone, finalize, 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

### getMillis

    protected long getMillis()

  Gets the milliseconds of the datetime 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

### getDateMidnight

    public DateMidnight getDateMidnight()

  Gets the datetime being used.

  Returns:
    the datetime

### addToCopy

    public DateMidnight addToCopy(int value)

  Adds to this field in a copy of this DateMidnight.

  The DateMidnight attached to this property is unchanged by this call. This operation is faster than converting a DateMidnight to a MutableDateTime and back again when setting one field. When setting multiple fields, it is generally quicker to make the conversion to MutableDateTime.

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

### addToCopy

    public DateMidnight addToCopy(long value)

  Adds to this field in a copy of this DateMidnight.

  The DateMidnight attached to this property is unchanged by this call. This operation is faster than converting a DateMidnight to a MutableDateTime and back again when setting one field. When setting multiple fields, it is generally quicker to make the conversion to MutableDateTime.

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

### addWrapFieldToCopy

    public DateMidnight addWrapFieldToCopy(int value)

  Adds to this field, possibly wrapped, in a copy of this DateMidnight. A wrapped operation only changes this field. Thus 31st January addWrapField one day goes to the 1st January.

  The DateMidnight attached to this property is unchanged by this call. This operation is faster than converting a DateMidnight to a MutableDateTime and back again when setting one field. When setting multiple fields, it is generally quicker to make the conversion to MutableDateTime.

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

### setCopy

    public DateMidnight setCopy(int value)

  Sets this field in a copy of the DateMidnight.

  The DateMidnight attached to this property is unchanged by this call. This operation is faster than converting a DateMidnight to a MutableDateTime and back again when setting one field. When setting multiple fields, it is generally quicker to make the conversion to MutableDateTime.

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

### setCopy

    public DateMidnight setCopy(java.lang.String text,
                                java.util.Locale locale)

  Sets this field in a copy of the DateMidnight to a parsed text value.

  The DateMidnight attached to this property is unchanged by this call. This operation is faster than converting a DateMidnight to a MutableDateTime and back again when setting one field. When setting multiple fields, it is generally quicker to make the conversion to MutableDateTime.

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

### setCopy

    public DateMidnight setCopy(java.lang.String text)

  Sets this field in a copy of the DateMidnight to a parsed text value.

  The DateMidnight attached to this property is unchanged by this call. This operation is faster than converting a DateMidnight to a MutableDateTime and back again when setting one field. When setting multiple fields, it is generally quicker to make the conversion to MutableDateTime.

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

### withMaximumValue

    public DateMidnight withMaximumValue()

  Returns a new DateMidnight with this field set to the maximum value for this field.

  This operation is useful for obtaining a DateTime on the last day of the month, as month lengths vary.

       DateMidnight lastDayOfMonth = dt.dayOfMonth().withMaximumValue();

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

  Returns:
    a copy of the DateMidnight with this field set to its maximum
  Since:
    1.2

### withMinimumValue

    public DateMidnight withMinimumValue()

  Returns a new DateMidnight with this field set to the minimum value for this field.

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

  Returns:
    a copy of the DateMidnight with this field set to its minimum
  Since:
    1.2

### roundFloorCopy

    public DateMidnight roundFloorCopy()

  Rounds to the lowest whole unit of this field on a copy of this DateMidnight.

  Returns:
    a copy of the DateMidnight with the field value changed

### roundCeilingCopy

    public DateMidnight roundCeilingCopy()

  Rounds to the highest whole unit of this field on a copy of this DateMidnight.

  Returns:
    a copy of the DateMidnight with the field value changed

### roundHalfFloorCopy

    public DateMidnight roundHalfFloorCopy()

  Rounds to the nearest whole unit of this field on a copy of this DateMidnight, favoring the floor if halfway.

  Returns:
    a copy of the DateMidnight with the field value changed

### roundHalfCeilingCopy

    public DateMidnight roundHalfCeilingCopy()

  Rounds to the nearest whole unit of this field on a copy of this DateMidnight, favoring the ceiling if halfway.

  Returns:
    a copy of the DateMidnight with the field value changed

### roundHalfEvenCopy

    public DateMidnight roundHalfEvenCopy()

  Rounds to the nearest whole unit of this field on a copy of this DateMidnight. If halfway, the ceiling is favored over the floor only if it makes this field's value even.

  Returns:
    a copy of the DateMidnight with the field value changed

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD