Class Duration

java.lang.Object
org.exolab.castor.types.Duration
All Implemented Interfaces:
Serializable

public class Duration extends Object implements Serializable
This class is the representation of XML Schema datatype: duration.

This representation does not support the decimal fraction for the lowest order item.

The order relation provided by this implementation does not follow the guidelines of XML Schema Specification that defines only a partial order.

For more information see X3C XML Schema Specification.

Version:
$Revision: 7231 $ $Date: 2006-04-25 15:08:23 -0600 (Tue, 25 Apr 2006) $
Author:
Arnaud Blandin, Edward Kuns
See Also:
  • Constructor Summary

    Constructors
    Constructor
    Description
    default constructor.
    Duration(long l)
    This constructor fills in the duration fields according to the value of the long by calling setValue.
    Duration(String duration)
    Constructs a duration from a string.
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    equal(Duration duration)
    Returns true if the instance of TimeDuration has the same fields of the parameter
    boolean
    equals(Object object)
    Override the java.lang.equals method
    short
     
    short
     
    long
     
    short
     
    short
     
    short
     
    short
     
    int
    Overrides the java.lang.Object#hashcode method.
    boolean
    isGreater(Duration duration)
    Returns true if the present instance of TimeDuration is greater than the parameter
    boolean
     
    static Object
    parse a String and convert it into a java.lang.Object
    static Duration
    Parse the given string and return a time duration which represents this string.
    void
    setDay(short day)
     
    void
    setHour(short hour)
     
    void
    setMilli(long milli)
     
    void
    setMinute(short minute)
     
    void
    setMonth(short month)
     
    void
     
    void
    setSeconds(short second)
     
    void
    setValue(short year, short month, short day, short hour, short minute, short second, long millisecond)
    Fill in the fields of the duration with the given values
    void
    setYear(short year)
     
    long
    Convert a duration into a long This long represents the duration in milliseconds.
    Convert a duration into a String conforming to ISO8601 and XML Schema specs

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • Duration

      public Duration()
      default constructor.
    • Duration

      public Duration(String duration) throws ParseException
      Constructs a duration from a string.
      Parameters:
      duration - the string representation of the duration to create
      Throws:
      ParseException - thrown when the string is not a valid duration
    • Duration

      public Duration(long l)
      This constructor fills in the duration fields according to the value of the long by calling setValue.
      Parameters:
      l - the long value of the Duration
      See Also:
  • Method Details

    • setYear

      public void setYear(short year)
    • setMonth

      public void setMonth(short month)
    • setDay

      public void setDay(short day)
    • setHour

      public void setHour(short hour)
    • setMinute

      public void setMinute(short minute)
    • setSeconds

      public void setSeconds(short second)
    • setMilli

      public void setMilli(long milli)
    • setNegative

      public void setNegative()
    • setValue

      public void setValue(short year, short month, short day, short hour, short minute, short second, long millisecond)
      Fill in the fields of the duration with the given values
      Parameters:
      year - the year value
      month - the month value
      day - the day value
      hour - the hour value
      minute - the minute value
      second - the second value
      millisecond - the second value
    • getYear

      public short getYear()
    • getMonth

      public short getMonth()
    • getDay

      public short getDay()
    • getHour

      public short getHour()
    • getMinute

      public short getMinute()
    • getSeconds

      public short getSeconds()
    • getMilli

      public long getMilli()
    • isNegative

      public boolean isNegative()
    • toLong

      public long toLong()

      Convert a duration into a long This long represents the duration in milliseconds.

      Returns:
      a long representing the duration
    • toString

      public String toString()
      Convert a duration into a String conforming to ISO8601 and XML Schema specs
      Overrides:
      toString in class Object
      Returns:
      a string representing the duration
    • parse

      public static Object parse(String str) throws ParseException
      parse a String and convert it into a java.lang.Object
      Parameters:
      str - the string to parse
      Returns:
      the java.lang.Object represented by the string
      Throws:
      ParseException - a parse exception is thrown if the string to parse does not follow the rigth format (see the description of this class)
    • parseDuration

      public static Duration parseDuration(String str) throws ParseException

      Parse the given string and return a time duration which represents this string.

      Parameters:
      str - the string to parse
      Returns:
      a TimeDuration instance which represent the string
      Throws:
      ParseException - thrown when the string is not valid
    • hashCode

      public int hashCode()
      Overrides the java.lang.Object#hashcode method.
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(Object object)
      Override the java.lang.equals method
      Overrides:
      equals in class Object
      See Also:
    • equal

      public boolean equal(Duration duration)
      Returns true if the instance of TimeDuration has the same fields of the parameter
      Parameters:
      duration - the time duration to compare
      Returns:
      true if equal, false if not
    • isGreater

      public boolean isGreater(Duration duration)
      Returns true if the present instance of TimeDuration is greater than the parameter

      Note This definition does not follow the XML SCHEMA RECOMMENDATION 05022001 the following total order relation is used : givent t1,t2 timeDuration types t1>t2 iff t1.toLong()>t2.toLong()

      Parameters:
      duration - the time duration to compare with the present instance
      Returns:
      true if the present instance is the greatest, false if not