/** * Gets the property object for the specified type, which contains * many useful methods. * * @param type the field type to get the property for * @return the property object * @throws IllegalArgumentException if the field is null or unsupported */ public Property property(DateTimeFieldType type) { return new Property(this, indexOfSupported(type)); }
/** * Gets the property object for the specified type, which contains * many useful methods. * * @param type the field type to get the property for * @return the property object * @throws IllegalArgumentException if the field is null or unsupported */ public Property property(DateTimeFieldType type) { return new Property(this, indexOfSupported(type)); }
/** * Returns a copy of this year-month with the value of the specified field increased. * <p> * If the addition is zero, then <code>this</code> is returned. * <p> * These three lines are equivalent: * <pre> * YearMonth added = ym.withFieldAdded(DurationFieldType.months(), 6); * YearMonth added = ym.plusMonths(6); * YearMonth added = ym.monthOfYear().addToCopy(6); * </pre> * * @param fieldType the field type to add to, not null * @param amount the amount to add * @return a copy of this instance with the field updated, never null * @throws IllegalArgumentException if the value is null or invalid * @throws ArithmeticException if the new date-time exceeds the capacity */ public YearMonth withFieldAdded(DurationFieldType fieldType, int amount) { int index = indexOfSupported(fieldType); if (amount == 0) { return this; } int[] newValues = getValues(); newValues = getField(index).add(this, index, newValues, amount); return new YearMonth(this, newValues); }
/** * Returns a copy of this year-month with the value of the specified field increased. * <p> * If the addition is zero, then <code>this</code> is returned. * <p> * These three lines are equivalent: * <pre> * YearMonth added = ym.withFieldAdded(DurationFieldType.months(), 6); * YearMonth added = ym.plusMonths(6); * YearMonth added = ym.monthOfYear().addToCopy(6); * </pre> * * @param fieldType the field type to add to, not null * @param amount the amount to add * @return a copy of this instance with the field updated, never null * @throws IllegalArgumentException if the value is null or invalid * @throws ArithmeticException if the new date-time exceeds the capacity */ public YearMonth withFieldAdded(DurationFieldType fieldType, int amount) { int index = indexOfSupported(fieldType); if (amount == 0) { return this; } int[] newValues = getValues(); newValues = getField(index).add(this, index, newValues, amount); return new YearMonth(this, newValues); }
/** * Returns a copy of this year-month with the specified field set to a new value. * <p> * For example, if the field type is <code>monthOfYear</code> then the month * would be changed in the returned instance. * <p> * These three lines are equivalent: * <pre> * YearMonth updated = ym.withField(DateTimeFieldType.monthOfYear(), 6); * YearMonth updated = ym.monthOfYear().setCopy(6); * YearMonth updated = ym.property(DateTimeFieldType.monthOfYear()).setCopy(6); * </pre> * * @param fieldType the field type to set, not null * @param value the value to set * @return a copy of this instance with the field set, never null * @throws IllegalArgumentException if the value is null or invalid */ public YearMonth withField(DateTimeFieldType fieldType, int value) { int index = indexOfSupported(fieldType); if (value == getValue(index)) { return this; } int[] newValues = getValues(); newValues = getField(index).set(this, index, newValues, value); return new YearMonth(this, newValues); }
/** * Returns a copy of this year-month with the specified field set to a new value. * <p> * For example, if the field type is <code>monthOfYear</code> then the month * would be changed in the returned instance. * <p> * These three lines are equivalent: * <pre> * YearMonth updated = ym.withField(DateTimeFieldType.monthOfYear(), 6); * YearMonth updated = ym.monthOfYear().setCopy(6); * YearMonth updated = ym.property(DateTimeFieldType.monthOfYear()).setCopy(6); * </pre> * * @param fieldType the field type to set, not null * @param value the value to set * @return a copy of this instance with the field set, never null * @throws IllegalArgumentException if the value is null or invalid */ public YearMonth withField(DateTimeFieldType fieldType, int value) { int index = indexOfSupported(fieldType); if (value == getValue(index)) { return this; } int[] newValues = getValues(); newValues = getField(index).set(this, index, newValues, value); return new YearMonth(this, newValues); }
/** * Gets the property object for the specified type, which contains * many useful methods. * * @param type the field type to get the property for * @return the property object * @throws IllegalArgumentException if the field is null or unsupported */ public Property property(DateTimeFieldType type) { return new Property(this, indexOfSupported(type)); }
/** * Returns a copy of this year-month with the value of the specified field increased. * <p> * If the addition is zero, then <code>this</code> is returned. * <p> * These three lines are equivalent: * <pre> * YearMonth added = ym.withFieldAdded(DurationFieldType.months(), 6); * YearMonth added = ym.plusMonths(6); * YearMonth added = ym.monthOfYear().addToCopy(6); * </pre> * * @param fieldType the field type to add to, not null * @param amount the amount to add * @return a copy of this instance with the field updated, never null * @throws IllegalArgumentException if the value is null or invalid * @throws ArithmeticException if the new date-time exceeds the capacity */ public YearMonth withFieldAdded(DurationFieldType fieldType, int amount) { int index = indexOfSupported(fieldType); if (amount == 0) { return this; } int[] newValues = getValues(); newValues = getField(index).add(this, index, newValues, amount); return new YearMonth(this, newValues); }
/** * Returns a copy of this year-month with the specified field set to a new value. * <p> * For example, if the field type is <code>monthOfYear</code> then the month * would be changed in the returned instance. * <p> * These three lines are equivalent: * <pre> * YearMonth updated = ym.withField(DateTimeFieldType.monthOfYear(), 6); * YearMonth updated = ym.monthOfYear().setCopy(6); * YearMonth updated = ym.property(DateTimeFieldType.monthOfYear()).setCopy(6); * </pre> * * @param fieldType the field type to set, not null * @param value the value to set * @return a copy of this instance with the field set, never null * @throws IllegalArgumentException if the value is null or invalid */ public YearMonth withField(DateTimeFieldType fieldType, int value) { int index = indexOfSupported(fieldType); if (value == getValue(index)) { return this; } int[] newValues = getValues(); newValues = getField(index).set(this, index, newValues, value); return new YearMonth(this, newValues); }
/** * Gets the property object for the specified type, which contains * many useful methods. * * @param type the field type to get the property for * @return the property object * @throws IllegalArgumentException if the field is null or unsupported */ public Property property(DateTimeFieldType type) { return new Property(this, indexOfSupported(type)); }
/** * Gets the property object for the specified type, which contains * many useful methods. * * @param type the field type to get the property for * @return the property object * @throws IllegalArgumentException if the field is null or unsupported */ public Property property(DateTimeFieldType type) { return new Property(this, indexOfSupported(type)); }
/** * Gets the property object for the specified type, which contains * many useful methods. * * @param type the field type to get the property for * @return the property object * @throws IllegalArgumentException if the field is null or unsupported */ public Property property(DateTimeFieldType type) { return new Property(this, indexOfSupported(type)); }
/** * Gets the property object for the specified type, which contains * many useful methods. * * @param type the field type to get the property for * @return the property object * @throws IllegalArgumentException if the field is null or unsupported */ public Property property(DateTimeFieldType type) { return new Property(this, indexOfSupported(type)); }
/** * Gets the property object for the specified type, which contains * many useful methods. * * @param type the field type to get the property for * @return the property object * @throws IllegalArgumentException if the field is null or unsupported */ public Property property(DateTimeFieldType type) { return new Property(this, indexOfSupported(type)); }
/** * Gets the property object for the specified type, which contains * many useful methods. * * @param type the field type to get the property for * @return the property object * @throws IllegalArgumentException if the field is null or unsupported */ public Property property(DateTimeFieldType type) { return new Property(this, indexOfSupported(type)); }
/** * Gets the property object for the specified type, which contains * many useful methods. * * @param type the field type to get the property for * @return the property object * @throws IllegalArgumentException if the field is null or unsupported */ public Property property(DateTimeFieldType type) { return new Property(this, indexOfSupported(type)); }
/** * Returns a copy of this year-month with the value of the specified field increased. * <p> * If the addition is zero, then <code>this</code> is returned. * <p> * These three lines are equivalent: * <pre> * YearMonth added = ym.withFieldAdded(DurationFieldType.months(), 6); * YearMonth added = ym.plusMonths(6); * YearMonth added = ym.monthOfYear().addToCopy(6); * </pre> * * @param fieldType the field type to add to, not null * @param amount the amount to add * @return a copy of this instance with the field updated, never null * @throws IllegalArgumentException if the value is null or invalid * @throws ArithmeticException if the new date-time exceeds the capacity */ public YearMonth withFieldAdded(DurationFieldType fieldType, int amount) { int index = indexOfSupported(fieldType); if (amount == 0) { return this; } int[] newValues = getValues(); newValues = getField(index).add(this, index, newValues, amount); return new YearMonth(this, newValues); }
/** * Returns a copy of this year-month with the specified field set to a new value. * <p> * For example, if the field type is <code>monthOfYear</code> then the month * would be changed in the returned instance. * <p> * These three lines are equivalent: * <pre> * YearMonth updated = ym.withField(DateTimeFieldType.monthOfYear(), 6); * YearMonth updated = ym.monthOfYear().setCopy(6); * YearMonth updated = ym.property(DateTimeFieldType.monthOfYear()).setCopy(6); * </pre> * * @param fieldType the field type to set, not null * @param value the value to set * @return a copy of this instance with the field set, never null * @throws IllegalArgumentException if the value is null or invalid */ public YearMonth withField(DateTimeFieldType fieldType, int value) { int index = indexOfSupported(fieldType); if (value == getValue(index)) { return this; } int[] newValues = getValues(); newValues = getField(index).set(this, index, newValues, value); return new YearMonth(this, newValues); }
/** * Returns a copy of this year-month with the specified field set to a new value. * <p> * For example, if the field type is <code>monthOfYear</code> then the month * would be changed in the returned instance. * <p> * These three lines are equivalent: * <pre> * YearMonth updated = ym.withField(DateTimeFieldType.monthOfYear(), 6); * YearMonth updated = ym.monthOfYear().setCopy(6); * YearMonth updated = ym.property(DateTimeFieldType.monthOfYear()).setCopy(6); * </pre> * * @param fieldType the field type to set, not null * @param value the value to set * @return a copy of this instance with the field set, never null * @throws IllegalArgumentException if the value is null or invalid */ public YearMonth withField(DateTimeFieldType fieldType, int value) { int index = indexOfSupported(fieldType); if (value == getValue(index)) { return this; } int[] newValues = getValues(); newValues = getField(index).set(this, index, newValues, value); return new YearMonth(this, newValues); }
/** * Returns a copy of this year-month with the specified field set to a new value. * <p> * For example, if the field type is <code>monthOfYear</code> then the month * would be changed in the returned instance. * <p> * These three lines are equivalent: * <pre> * YearMonth updated = ym.withField(DateTimeFieldType.monthOfYear(), 6); * YearMonth updated = ym.monthOfYear().setCopy(6); * YearMonth updated = ym.property(DateTimeFieldType.monthOfYear()).setCopy(6); * </pre> * * @param fieldType the field type to set, not null * @param value the value to set * @return a copy of this instance with the field set, never null * @throws IllegalArgumentException if the value is null or invalid */ public YearMonth withField(DateTimeFieldType fieldType, int value) { int index = indexOfSupported(fieldType); if (value == getValue(index)) { return this; } int[] newValues = getValues(); newValues = getField(index).set(this, index, newValues, value); return new YearMonth(this, newValues); }