Package org.exolab.castor.types
Class Time
java.lang.Object
org.exolab.castor.types.DateTimeBase
org.exolab.castor.types.Time
- All Implemented Interfaces:
Serializable
,Cloneable
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$
- Author:
- Arnaud Blandin, Edward Kuns
- See Also:
-
Field Summary
Fields inherited from class org.exolab.castor.types.DateTimeBase
EQUALS, GREATER_THAN, INDETERMINATE, LESS_THAN, MAX_TIME_ZONE_COMPARISON_OFFSET, WRONGLY_PLACED
-
Constructor Summary
ConstructorsConstructorDescriptionTime()
No-arg constructor.Time
(long l) Constructs a XML Schema Time instance given a long representing the time in milliseconds.Time
(long l, boolean utc) Constructs a XML Schema Time instance given a long representing the time in milliseconds.Time
(short[] values) Constructs a XML Schema Time instance given all the values of the different fields.Constructs a Time given a string representation. -
Method Summary
Modifier and TypeMethodDescriptionshort
short
getDay()
short
getMonth()
short[]
returns an array of short with all the fields that describe this time type.short
getYear()
boolean
boolean
hasDay()
boolean
boolean
hasMonth()
boolean
hasYear()
boolean
static Object
parses a String and converts it into a java.lang.Objectstatic Time
parses a String and converts it into a Time.void
setCentury
(short century) Set the century field.void
setDay
(short month) Sets the Day Field.void
setMonth
(short month) Sets the Month Field.void
Set the negative field to true.void
setValues
(short[] values) Sets all the fields by reading the values in an array.void
setYear
(short year) Sets the Year field.toDate()
converts this Time into a local java Date.long
toLong()
Converts this Time instance into a long value based on UTC time zone.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)Methods inherited from class org.exolab.castor.types.DateTimeBase
addDuration, appendDateString, appendTimeString, appendTimeZoneString, clone, compareTo, equal, equals, getHour, getMilli, getMinute, getSeconds, getZoneHour, getZoneMinute, hashCode, hasHour, hasMilli, hasMinute, hasSeconds, isLeap, isUTC, isZoneNegative, normalize, parseDay, parseMonth, parseTime, parseTimeZone, parseYear, setDateFormatTimeZone, setDateFormatTimeZone, setHour, setMilliSecond, setMinute, setSecond, setSecond, setUTC, setZone, setZoneHour, setZoneMinute, setZoneNegative, toCalendar
-
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
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 classDateTimeBase
- 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 classDateTimeBase
- 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
converts this Time into a local java Date.- Specified by:
toDate
in classDateTimeBase
- Returns:
- a local date representing this Time
-
toString
-
parse
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
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 classDateTimeBase
-
isNegative
public boolean isNegative()- Overrides:
isNegative
in classDateTimeBase
-
setNegative
public void setNegative()Description copied from class:DateTimeBase
Set the negative field to true.- Overrides:
setNegative
in classDateTimeBase
-
hasCentury
public boolean hasCentury()- Overrides:
hasCentury
in classDateTimeBase
-
getCentury
public short getCentury()- Overrides:
getCentury
in classDateTimeBase
-
setCentury
public void setCentury(short century) Description copied from class:DateTimeBase
Set the century field. Note: year 0000 is not allowed.- Overrides:
setCentury
in classDateTimeBase
- Parameters:
century
- the value to set
-
hasYear
public boolean hasYear()- Overrides:
hasYear
in classDateTimeBase
-
getYear
public short getYear()- Overrides:
getYear
in classDateTimeBase
-
setYear
public void setYear(short year) Description copied from class:DateTimeBase
Sets the Year field. Note: year 0000 is not allowed.- Overrides:
setYear
in classDateTimeBase
- Parameters:
year
- the year to set
-
hasMonth
public boolean hasMonth()- Overrides:
hasMonth
in classDateTimeBase
-
getMonth
public short getMonth()- Overrides:
getMonth
in classDateTimeBase
-
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 classDateTimeBase
- Parameters:
month
- the value to set up
-
hasDay
public boolean hasDay()- Overrides:
hasDay
in classDateTimeBase
-
getDay
public short getDay()- Overrides:
getDay
in classDateTimeBase
-
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 classDateTimeBase
- Parameters:
month
- the value to set up
-