Class Time

All Implemented Interfaces:
Serializable, Cloneable

public class Time extends DateTimeBase
Describes an XML schema Time.

The format is defined by W3C XML Schema Recommendation and ISO8601 i.e hh:mm:ss.sss(Z|(+|-)hh:mm)

Deep support of fractional seconds is not implemented. This implementation only supports fractional second resolution of milliseconds.

Version:
$Revision: 8100 $
Author:
Arnaud Blandin, Edward Kuns
See Also:
  • Constructor Details

    • Time

      public Time()
      No-arg constructor.
    • Time

      public Time(short[] values)
      Constructs a XML Schema Time instance given all the values of the different fields. By default a Time is not UTC and is local.
      Parameters:
      values - an array of shorts that represent the different fields of Time.
    • Time

      public Time(long l)
      Constructs a XML Schema Time instance given a long representing the time in milliseconds. By default a Time is not UTC and is local.
      Parameters:
      l - The long value that represents the time instance.
    • Time

      public Time(long l, boolean utc)
      Constructs a XML Schema Time instance given a long representing the time in milliseconds.
      Parameters:
      l - The long value that represents the time instance.
      utc - Does the long value represent a UTC time?
    • Time

      public Time(String time) throws ParseException
      Constructs a Time given a string representation.
      Parameters:
      time - the string representation of the Time to instantiate
      Throws:
      ParseException - a parse exception is thrown if the string to parse does not follow the rigth format (see the description of this class)
  • Method Details

    • setValues

      public void setValues(short[] values)
      Sets all the fields by reading the values in an array.

      if a Time Zone is specified it has to be set by using setZone.

      Specified by:
      setValues in class DateTimeBase
      Parameters:
      values - an array of shorts with the values the array is supposed to be of length 4 and ordered like that:
      • hour
      • minute
      • second
      • millisecond
    • getValues

      public short[] getValues()
      returns an array of short with all the fields that describe this time type.

      Note:the time zone is not included.

      Specified by:
      getValues in class DateTimeBase
      Returns:
      an array of short with all the fields that describe this time type.
    • toLong

      public long toLong()
      Converts this Time instance into a long value based on UTC time zone.
      Returns:
      A long value representing this Time instance.
    • toDate

      public Date toDate()
      converts this Time into a local java Date.
      Specified by:
      toDate in class DateTimeBase
      Returns:
      a local date representing this Time
    • toString

      public String toString()
      convert this Time to a string The format is defined by W3C XML Schema Recommendation and ISO8601 i.e hh:mm:ss.sss(Z|(+|-)hh:mm)
      Overrides:
      toString in class Object
      Returns:
      a string representing this Time
    • parse

      public static Object parse(String str) throws ParseException
      parses a String and converts 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)
    • parseTime

      public static Time parseTime(String str) throws ParseException
      parses a String and converts it into a Time.
      Parameters:
      str - the string to parse
      Returns:
      the Time 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)
    • hasIsNegative

      public boolean hasIsNegative()
      Overrides:
      hasIsNegative in class DateTimeBase
    • isNegative

      public boolean isNegative()
      Overrides:
      isNegative in class DateTimeBase
    • setNegative

      public void setNegative()
      Description copied from class: DateTimeBase
      Set the negative field to true.
      Overrides:
      setNegative in class DateTimeBase
    • hasCentury

      public boolean hasCentury()
      Overrides:
      hasCentury in class DateTimeBase
    • getCentury

      public short getCentury()
      Overrides:
      getCentury in class DateTimeBase
    • setCentury

      public void setCentury(short century)
      Description copied from class: DateTimeBase
      Set the century field. Note: year 0000 is not allowed.
      Overrides:
      setCentury in class DateTimeBase
      Parameters:
      century - the value to set
    • hasYear

      public boolean hasYear()
      Overrides:
      hasYear in class DateTimeBase
    • getYear

      public short getYear()
      Overrides:
      getYear in class DateTimeBase
    • setYear

      public void setYear(short year)
      Description copied from class: DateTimeBase
      Sets the Year field. Note: year 0000 is not allowed.
      Overrides:
      setYear in class DateTimeBase
      Parameters:
      year - the year to set
    • hasMonth

      public boolean hasMonth()
      Overrides:
      hasMonth in class DateTimeBase
    • getMonth

      public short getMonth()
      Overrides:
      getMonth in class DateTimeBase
    • setMonth

      public void setMonth(short month)
      Description copied from class: DateTimeBase
      Sets the Month Field. Note 1 invalid input: '<'= month invalid input: '<'= 12.
      Overrides:
      setMonth in class DateTimeBase
      Parameters:
      month - the value to set up
    • hasDay

      public boolean hasDay()
      Overrides:
      hasDay in class DateTimeBase
    • getDay

      public short getDay()
      Overrides:
      getDay in class DateTimeBase
    • setDay

      public void setDay(short month)
      Description copied from class: DateTimeBase
      Sets the Day Field. Note: This field is validated before the assignment is done.
      Overrides:
      setDay in class DateTimeBase
      Parameters:
      month - the value to set up