/* | |
* Copyright 2001-2005 Stephen Colebourne | |
* | |
* Licensed under the Apache License, Version 2.0 (the "License"); | |
* you may not use this file except in compliance with the License. | |
* You may obtain a copy of the License at | |
* | |
* http://www.apache.org/licenses/LICENSE-2.0 | |
* | |
* Unless required by applicable law or agreed to in writing, software | |
* distributed under the License is distributed on an "AS IS" BASIS, | |
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
* See the License for the specific language governing permissions and | |
* limitations under the License. | |
*/ | |
package org.joda.time; | |
/** | |
* Defines an instant in time that can be queried and modified using datetime fields. | |
* <p> | |
* The implementation of this interface will be mutable. | |
* It may provide more advanced methods than those in the interface. | |
* <p> | |
* Methods in your application should be defined using <code>ReadWritableDateTime</code> | |
* as a parameter if the method wants to manipulate and change a date in simple ways. | |
* | |
* @author Stephen Colebourne | |
* @author Brian S O'Neill | |
* @since 1.0 | |
*/ | |
public interface ReadWritableDateTime extends ReadableDateTime, ReadWritableInstant { | |
//----------------------------------------------------------------------- | |
/** | |
* Set the year to the specified value. | |
* | |
* @param year the year | |
* @throws IllegalArgumentException if the value is invalid | |
*/ | |
void setYear(int year); | |
/** | |
* Add a number of years to the date. | |
* | |
* @param years the years to add | |
* @throws IllegalArgumentException if the value is invalid | |
*/ | |
void addYears(int years); | |
//----------------------------------------------------------------------- | |
/** | |
* Set the weekyear to the specified value. | |
* | |
* @param weekyear the weekyear | |
* @throws IllegalArgumentException if the value is invalid | |
*/ | |
void setWeekyear(int weekyear); | |
/** | |
* Add a number of weekyears to the date. | |
* | |
* @param weekyears the weekyears to add | |
* @throws IllegalArgumentException if the value is invalid | |
*/ | |
void addWeekyears(int weekyears); | |
//----------------------------------------------------------------------- | |
/** | |
* Set the month of the year to the specified value. | |
* | |
* @param monthOfYear the month of the year | |
* @throws IllegalArgumentException if the value is invalid | |
*/ | |
void setMonthOfYear(int monthOfYear); | |
/** | |
* Add a number of months to the date. | |
* | |
* @param months the months to add | |
* @throws IllegalArgumentException if the value is invalid | |
*/ | |
void addMonths(int months); | |
//----------------------------------------------------------------------- | |
/** | |
* Set the week of weekyear to the specified value. | |
* | |
* @param weekOfWeekyear the week of the weekyear | |
* @throws IllegalArgumentException if the value is invalid | |
*/ | |
void setWeekOfWeekyear(int weekOfWeekyear); | |
/** | |
* Add a number of weeks to the date. | |
* | |
* @param weeks the weeks to add | |
* @throws IllegalArgumentException if the value is invalid | |
*/ | |
void addWeeks(int weeks); | |
//----------------------------------------------------------------------- | |
/** | |
* Set the day of year to the specified value. | |
* | |
* @param dayOfYear the day of the year | |
* @throws IllegalArgumentException if the value is invalid | |
*/ | |
void setDayOfYear(int dayOfYear); | |
/** | |
* Set the day of the month to the specified value. | |
* | |
* @param dayOfMonth the day of the month | |
* @throws IllegalArgumentException if the value is invalid | |
*/ | |
void setDayOfMonth(int dayOfMonth); | |
/** | |
* Set the day of week to the specified value. | |
* | |
* @param dayOfWeek the day of the week | |
* @throws IllegalArgumentException if the value is invalid | |
*/ | |
void setDayOfWeek(int dayOfWeek); | |
/** | |
* Add a number of days to the date. | |
* | |
* @param days the days to add | |
* @throws IllegalArgumentException if the value is invalid | |
*/ | |
void addDays(int days); | |
//----------------------------------------------------------------------- | |
/** | |
* Set the hour of the day to the specified value. | |
* | |
* @param hourOfDay the hour of day | |
* @throws IllegalArgumentException if the value is invalid | |
*/ | |
void setHourOfDay(int hourOfDay); | |
/** | |
* Add a number of hours to the date. | |
* | |
* @param hours the hours to add | |
* @throws IllegalArgumentException if the value is invalid | |
*/ | |
void addHours(int hours); | |
//----------------------------------------------------------------------- | |
/** | |
* Set the minute of the day to the specified value. | |
* | |
* @param minuteOfDay the minute of day | |
* @throws IllegalArgumentException if the value is invalid | |
*/ | |
void setMinuteOfDay(int minuteOfDay); | |
/** | |
* Set the minute of the hour to the specified value. | |
* | |
* @param minuteOfHour the minute of hour | |
* @throws IllegalArgumentException if the value is invalid | |
*/ | |
void setMinuteOfHour(int minuteOfHour); | |
/** | |
* Add a number of minutes to the date. | |
* | |
* @param minutes the minutes to add | |
* @throws IllegalArgumentException if the value is invalid | |
*/ | |
void addMinutes(int minutes); | |
//----------------------------------------------------------------------- | |
/** | |
* Set the second of the day to the specified value. | |
* | |
* @param secondOfDay the second of day | |
* @throws IllegalArgumentException if the value is invalid | |
*/ | |
void setSecondOfDay(int secondOfDay); | |
/** | |
* Set the second of the minute to the specified value. | |
* | |
* @param secondOfMinute the second of minute | |
* @throws IllegalArgumentException if the value is invalid | |
*/ | |
void setSecondOfMinute(int secondOfMinute); | |
/** | |
* Add a number of seconds to the date. | |
* | |
* @param seconds the seconds to add | |
* @throws IllegalArgumentException if the value is invalid | |
*/ | |
void addSeconds(int seconds); | |
//----------------------------------------------------------------------- | |
/** | |
* Set the millis of the day to the specified value. | |
* | |
* @param millisOfDay the millis of day | |
* @throws IllegalArgumentException if the value is invalid | |
*/ | |
void setMillisOfDay(int millisOfDay); | |
/** | |
* Set the millis of the second to the specified value. | |
* | |
* @param millisOfSecond the millis of second | |
* @throws IllegalArgumentException if the value is invalid | |
*/ | |
void setMillisOfSecond(int millisOfSecond); | |
/** | |
* Add a number of milliseconds to the date. The implementation of this | |
* method differs from the {@link #add(long)} method in that a | |
* DateTimeField performs the addition. | |
* | |
* @param millis the milliseconds to add | |
* @throws IllegalArgumentException if the value is invalid | |
*/ | |
void addMillis(int millis); | |
/** | |
* Set the date from fields. | |
* The time part of this object will be unaffected. | |
* | |
* @param year the year | |
* @param monthOfYear the month of the year | |
* @param dayOfMonth the day of the month | |
* @throws IllegalArgumentException if any value is invalid | |
*/ | |
void setDate(int year, int monthOfYear, int dayOfMonth); | |
/** | |
* Set the time from fields. | |
* The date part of this object will be unaffected. | |
* | |
* @param hour the hour | |
* @param minuteOfHour the minute of the hour | |
* @param secondOfMinute the second of the minute | |
* @param millisOfSecond the millisecond of the second | |
* @throws IllegalArgumentException if any value is invalid | |
*/ | |
void setTime(int hour, int minuteOfHour, int secondOfMinute, int millisOfSecond); | |
/** | |
* Set the date and time from fields. | |
* | |
* @param year the year | |
* @param monthOfYear the month of the year | |
* @param dayOfMonth the day of the month | |
* @param hourOfDay the hour of the day | |
* @param minuteOfHour the minute of the hour | |
* @param secondOfMinute the second of the minute | |
* @param millisOfSecond the millisecond of the second | |
* @throws IllegalArgumentException if any value is invalid | |
*/ | |
void setDateTime( | |
int year, int monthOfYear, int dayOfMonth, | |
int hourOfDay, int minuteOfHour, int secondOfMinute, int millisOfSecond); | |
} |