public class Duration extends Property
3.3.6. Duration Value Name: DURATION Purpose: This value type is used to identify properties that contain a duration of time. Format Definition: This value type is defined by the following notation: dur-value = (["+"] / "-") "P" (dur-date / dur-time / dur-week) dur-date = dur-day [dur-time] dur-time = "T" (dur-hour / dur-minute / dur-second) dur-week = 1*DIGIT "W" dur-hour = 1*DIGIT "H" [dur-minute] dur-minute = 1*DIGIT "M" [dur-second] dur-second = 1*DIGIT "S" dur-day = 1*DIGIT "D" Description: If the property permits, multiple "duration" values are specified by a COMMA-separated list of values. The format is based on the [ISO.8601.2004] complete representation basic format with designators for the duration of time. The format can represent nominal durations (weeks and days) and accurate durations (hours, minutes, and seconds). Note that unlike [ISO.8601.2004], this value type doesn't support the "Y" and "M" designators to specify durations in terms of years and months. The duration of a week or a day depends on its position in the calendar. In the case of discontinuities in the time scale, such as the change from standard time to daylight time and back, the computation of the exact duration requires the subtraction or addition of the change of duration of the discontinuity. Leap seconds MUST NOT be considered when computing an exact duration. When computing an exact duration, the greatest order time components MUST be added first, that is, the number of days MUST be added first, followed by the number of hours, number of minutes, and number of seconds. Negative durations are typically used to schedule an alarm to trigger before an associated time (see Section 3.8.6.3). No additional content value encoding (i.e., BACKSLASH character encoding, see Section 3.3.11) are defined for this value type. Example: A duration of 15 days, 5 hours, and 20 seconds would be: P15DT5H0M20S A duration of 7 weeks would be: P7W
Modifier and Type | Class and Description |
---|---|
static class |
Duration.Factory |
ACKNOWLEDGED, ACTION, ATTACH, ATTENDEE, BUSYTYPE, CALSCALE, CATEGORIES, CLASS, COMMENT, COMPLETED, CONTACT, COUNTRY, CREATED, DESCRIPTION, DTEND, DTSTAMP, DTSTART, DUE, DURATION, EXDATE, EXPERIMENTAL_PREFIX, EXRULE, EXTENDED_ADDRESS, FREEBUSY, GEO, LAST_MODIFIED, LOCALITY, LOCATION, LOCATION_TYPE, METHOD, NAME, ORGANIZER, PERCENT_COMPLETE, POSTALCODE, PRIORITY, PRODID, RDATE, RECURRENCE_ID, REGION, RELATED_TO, REPEAT, REQUEST_STATUS, RESOURCES, RRULE, SEQUENCE, STATUS, STREET_ADDRESS, SUMMARY, TEL, TRANSP, TRIGGER, TZID, TZNAME, TZOFFSETFROM, TZOFFSETTO, TZURL, UID, URL, VERSION
Constructor and Description |
---|
Duration()
Default constructor.
|
Duration(java.util.Date start,
java.util.Date end)
Constructs a new duration representing the time between the specified start date and end date.
|
Duration(Dur duration)
Deprecated.
|
Duration(ParameterList aList,
Dur duration)
Deprecated.
|
Duration(ParameterList aList,
java.lang.String aValue) |
Duration(ParameterList aList,
java.time.temporal.TemporalAmount duration) |
Duration(java.time.temporal.TemporalAmount duration) |
Modifier and Type | Method and Description |
---|---|
java.time.temporal.TemporalAmount |
getDuration() |
java.lang.String |
getValue() |
void |
setDuration(java.time.temporal.TemporalAmount duration) |
void |
setValue(java.lang.String aValue)
Sets the current value of the property.
|
void |
validate()
Perform validation on a property.
|
copy, equals, getName, getParameter, getParameters, getParameters, hashCode, toString
public Duration()
public Duration(ParameterList aList, java.lang.String aValue)
aList
- a list of parameters for this componentaValue
- a value string for this component@Deprecated public Duration(Dur duration)
duration
- a duration valuepublic Duration(java.time.temporal.TemporalAmount duration)
duration
- a duration value@Deprecated public Duration(ParameterList aList, Dur duration)
aList
- a list of parameters for this componentduration
- a duration valuepublic Duration(ParameterList aList, java.time.temporal.TemporalAmount duration)
aList
- a list of parameters for this componentduration
- a duration valuepublic Duration(java.util.Date start, java.util.Date end)
start
- the starting time for the durationend
- the end time for the durationpublic final java.time.temporal.TemporalAmount getDuration()
public final void setValue(java.lang.String aValue)
public final java.lang.String getValue()
public final void setDuration(java.time.temporal.TemporalAmount duration)
duration
- The duration to set.public void validate() throws ValidationException
Property
validate
in class Property
ValidationException
- where the property is not in a valid state