Class Duration
java.lang.Object
org.apache.axis2.databinding.types.Duration
- All Implemented Interfaces:
Serializable
Implementation of the XML Schema type duration. Duration supports a minimum fractional second
precision of milliseconds.
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionlongbooleanThe equals method compares the time represented by duration object, not its string representation.Returns duration as a calendar.getAsCalendar(Calendar startTime) Returns duration as a calendar.intgetDays()intgetHours()intintdoubleintgetYears()inthashCode()booleanvoidThis method parses the date portion of a String that represents xsd:duration - nYnMnD.voidThis method parses the time portion of a String that represents xsd:duration - nHnMnS.voidsetDays(int days) voidsetHours(int hours) voidsetMinutes(int minutes) voidsetMonths(int months) voidsetNegative(boolean negative) voidsetSeconds(double seconds) Sets the seconds.voidsetSeconds(int seconds) Deprecated.voidsetYears(int years) toString()This returns the xml representation of an xsd:duration object.
-
Constructor Details
-
Duration
public Duration()Default no-arg constructor -
Duration
public Duration(boolean negative, int aYears, int aMonths, int aDays, int aHours, int aMinutes, double aSeconds) - Parameters:
negative-aYears-aMonths-aDays-aHours-aMinutes-aSeconds-
-
Duration
Constructs Duration from a String in an xsd:duration format - PnYnMnDTnHnMnS.- Parameters:
duration- String- Throws:
IllegalArgumentException- if the string doesn't parse correctly.
-
Duration
Constructs Duration from a Calendar.- Parameters:
calendar- Calendar- Throws:
IllegalArgumentException- if the calendar object does not represent any date nor time.
-
-
Method Details
-
parseTime
This method parses the time portion of a String that represents xsd:duration - nHnMnS.- Parameters:
time-- Throws:
IllegalArgumentException- if time does not match pattern
-
parseDate
This method parses the date portion of a String that represents xsd:duration - nYnMnD.- Parameters:
date-- Throws:
IllegalArgumentException- if date does not match pattern
-
isNegative
public boolean isNegative() -
getYears
public int getYears() -
getMonths
public int getMonths() -
getDays
public int getDays() -
getHours
public int getHours() -
getMinutes
public int getMinutes() -
getSeconds
public double getSeconds() -
setNegative
public void setNegative(boolean negative) - Parameters:
negative-
-
setYears
public void setYears(int years) - Parameters:
years-
-
setMonths
public void setMonths(int months) - Parameters:
months-
-
setDays
public void setDays(int days) - Parameters:
days-
-
setHours
public void setHours(int hours) - Parameters:
hours-
-
setMinutes
public void setMinutes(int minutes) - Parameters:
minutes-
-
setSeconds
public void setSeconds(int seconds) Deprecated.usesetSeconds(double)instead- Parameters:
seconds-
-
setSeconds
public void setSeconds(double seconds) Sets the seconds. NOTE: The fractional value of seconds is rounded up to milliseconds.- Parameters:
seconds- double
-
toString
This returns the xml representation of an xsd:duration object. -
equals
The equals method compares the time represented by duration object, not its string representation. Hence, a duration object representing 65 minutes is considered equal to a duration object representing 1 hour and 5 minutes. -
compare
-
hashCode
public int hashCode() -
getAsCalendar
Returns duration as a calendar. Due to the way a Calendar class works, the values for particular fields may not be the same as obtained through getter methods. For example, if a duration's object getMonths returns 20, a similar call on a calendar object will return 1 year and 8 months.- Returns:
- Calendar
-
getAsCalendar
Returns duration as a calendar. Due to the way a Calendar class works, the values for particular fields may not be the same as obtained through getter methods. For example, if a Duration's object getMonths returns 20, a similar call on a Calendar object will return 1 year and 8 months.- Parameters:
startTime- Calendar- Returns:
- Calendar
-
setSeconds(double)instead