org.exolab.castor.types

Class RecurringDuration

public class RecurringDuration extends RecurringDurationBase

Represents recurringDuration utterly a recurringDuration must contain all the fields :

(+|-)CCYY-MM-DDThh:mm:ss.sss(Z|(+|-)hh:mm)

The validation of the date fields is done in the set methods and follows the ISO8601 Date and Time Format

It is possible to omit higher components by using '-'.

Version: $Revision: 6216 $

Author: Arnaud Blandin

Constructor Summary
RecurringDuration()
RecurringDuration(TimeDuration duration, TimeDuration period)
returns a recurringDuration with the facets duration and period set up
RecurringDuration(String duration, String period)
returns a recurringDuration with the facets duration and period set up
RecurringDuration(String duration, String period, short[] values)
returns a recurringDuration with the facets duration and period set up but also the fields
Method Summary
booleanequal(RecurringDuration reccD)

Returns true if the present instance of Recurring Duration is equal to the parameter.

booleanequals(Object object)
Override the java.lang.equals method
shortgetCentury()
shortgetDay()
shortgetMonth()
short[]getValues()
returns an array of short with all the fields which describe a RecurringDuration
shortgetYear()
booleanisGreater(RecurringDuration reccD)

Returns true if the present instance of RecurringDuration is greater than the parameter

Note : the order relation follows the W3C XML Schema draft i.e rd1 < rd2 iff rd2-rd1>0

booleanisLeap()
return true if the year field represents a leap year A specific year is a leap year if it is either evenly divisible by 400 OR evenly divisible by 4 and not evenly divisible by 100
static Objectparse(String str)
static RecurringDurationparseRecurringDuration(String str)
Parse a String and convert it into a recurringDuration.
voidsetCentury(short century)
set the century field
voidsetDay(short day)
set the Day Field
voidsetMonth(short month)
set the Month Field
voidsetValues(short[] values)
set all the fields by reading the values in an array
voidsetYear(short year)
set the Year field Note: 0000 is not allowed
DatetoDate()
convert this recurringDuration into a local Date

Note : Be aware a the 'local' property of the date i.e toDate() will de the conversion between a UTC date and your computer date format.

StringtoString()

Convert this recurringDuration to a string

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

Constructor Detail

RecurringDuration

public RecurringDuration()

RecurringDuration

public RecurringDuration(TimeDuration duration, TimeDuration period)
returns a recurringDuration with the facets duration and period set up

Parameters: duration the TimeDuration representing the duration facet period the TimeDuration reprensenting the period facet

RecurringDuration

public RecurringDuration(String duration, String period)
returns a recurringDuration with the facets duration and period set up

Parameters: duration the String representing the duration facet period the String reprensenting the period facet

RecurringDuration

public RecurringDuration(String duration, String period, short[] values)
returns a recurringDuration with the facets duration and period set up but also the fields

Parameters: duration the String representing the duration facet period the String reprensenting the period facet values an array of shorts which contains the values of the fields

See Also: RecurringDuration

Method Detail

equal

public boolean equal(RecurringDuration reccD)

Returns true if the present instance of Recurring Duration is equal to the parameter.

The equals relation is the following :

rd1 equals rd2 iff each field of rd1 is equal to the corresponding field of rd2

Parameters: reccD the recurring duration to compare with the present instance

Returns: true if the present instance is equal to the parameter false if not

equals

public boolean equals(Object object)
Override the java.lang.equals method

See Also: RecurringDuration

getCentury

public short getCentury()

getDay

public short getDay()

getMonth

public short getMonth()

getValues

public short[] getValues()
returns an array of short with all the fields which describe a RecurringDuration

Returns: an array of short with all the fields which describe a RecurringDuration

getYear

public short getYear()

isGreater

public boolean isGreater(RecurringDuration reccD)

Returns true if the present instance of RecurringDuration is greater than the parameter

Note : the order relation follows the W3C XML Schema draft i.e rd1 < rd2 iff rd2-rd1>0

Parameters: reccD the recurring duration to compare with the present instance

Returns: true if the present instance is the greatest, false if not

isLeap

public boolean isLeap()
return true if the year field represents a leap year A specific year is a leap year if it is either evenly divisible by 400 OR evenly divisible by 4 and not evenly divisible by 100

Returns: true if the year field represents a leap year

parse

public static Object parse(String str)

parseRecurringDuration

public static RecurringDuration parseRecurringDuration(String str)
Parse a String and convert it into a recurringDuration.

Parameters: str The string to parse.

Returns: The recurringDuration 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).

setCentury

public void setCentury(short century)
set the century field

Parameters: century the value to set up

setDay

public void setDay(short day)
set the Day Field

Parameters: day the value to set up Note a validation is done on the day field

setMonth

public void setMonth(short month)
set the Month Field

Parameters: month the value to set up Note 1

setValues

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

Parameters: values an array of shorts with the values the array is supposed to be of length 10 and ordered like that:

Throws: OperationNotSupportedException this exception is thrown if changing the value of one field os not allowed

See Also: RecurringDurationBase

setYear

public void setYear(short year)
set the Year field Note: 0000 is not allowed

Parameters: year year to set up

toDate

public Date toDate()
convert this recurringDuration into a local Date

Note : Be aware a the 'local' property of the date i.e toDate() will de the conversion between a UTC date and your computer date format. For instance if you have set up your computer time zone on the Pacific Day Time the conversion of 2000-10-20T00:00:00.000 into a java.util.Date will return Thu Oct 19 17:00:00 PDT 2000

Returns: a local date representing this recurringDuration

Throws: ParseException

toString

public String toString()

Convert this recurringDuration to a string

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

Returns: a string representing this recurringDuration

Intalio Inc. (C) 1999-2006. All rights reserved http://www.intalio.com