org.exolab.castor.types

Class RecurringDurationBase

Implemented Interfaces:
java.io.Serializable
Known Direct Subclasses:
RecurringDuration

public abstract class RecurringDurationBase
extends java.lang.Object
implements java.io.Serializable

The base class for recurring Duration types.

This base class contains all the time fields (including the time zone ones) and also the facets period and duration

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

Author:
Arnaud Blandin
See Also:
RecurringDuration, Time, TimeInstant, TimePeriod, Serialized Form

Constructor Summary

RecurringDurationBase()
No-arg constructor.
RecurringDurationBase(String duration, String period)
returns a recurringDurationBase with the facets duration and period set up
RecurringDurationBase(String duration, String period, short[] values)
returns a recurringDurationBase with the facets duration and period set up but also the fields
RecurringDurationBase(TimeDuration duration, TimeDuration period)
Returns a recurringDurationBase with the facets duration and period set.

Method Summary

boolean
equal(RecurringDurationBase reccD)
Returns true if the present instance of Recurring Duration Base is equal to the parameter.
boolean
equals(Object object)
Override the java.lang.equals method
TimeDuration
getDuration()
short
getHour()
short
getMilli()
short
getMinute()
TimeDuration
getPeriod()
short
getSeconds()
short[]
getValues()
returns an array of short with all the fields which describe a RecurringDurationBase
short
getZoneHour()
short
getZoneMinute()
boolean
isGreater(RecurringDurationBase reccD)
Returns true if the present instance of RecurringDurationBase is greater than the parameter

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

boolean
isNegative()
boolean
isUTC()
return true if this recurring Duration type is UTC i.e if there is no time zone.
boolean
isZoneNegative()
void
setDuration(String duration)
set the duration facet for this recurringDuration
void
setDuration(TimeDuration duration)
set the duration facet for this recurringDuration
void
setHour(short hour)
set the hour field for this recurringDuration
void
setMinute(short minute)
set the minute field for this recurringDuration
void
setNegative()
set the negative field to true
void
setPeriod(String period)
set the period facet for this recurringDuration
void
setPeriod(TimeDuration period)
set the period facet for this recurringDuration
void
setSecond(short second, short millsecond)
set the second field for this recurringDuration
void
setUTC()
set the UTC field to true
void
setValues(short[] values)
set all the fields by reading the values in an array
void
setZone(short hour, short minute)
set the time zone fields for this recurringDuration
void
setZoneNegative()
set the time zone negative field to true

Constructor Details

RecurringDurationBase

protected RecurringDurationBase()
No-arg constructor.

RecurringDurationBase

protected RecurringDurationBase(String duration,
                                String period)
            throws IllegalArgumentException
returns a recurringDurationBase with the facets duration and period set up
Parameters:
duration - the String representing the duration facet
period - the String reprensenting the period facet

RecurringDurationBase

protected RecurringDurationBase(String duration,
                                String period,
                                short[] values)
            throws OperationNotSupportedException
returns a recurringDurationBase 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

RecurringDurationBase

protected RecurringDurationBase(TimeDuration duration,
                                TimeDuration period)
Returns a recurringDurationBase with the facets duration and period set.
Parameters:
duration - the TimeDuration representing the duration facet
period - the TimeDuration reprensenting the period facet

Method Details

equal

public boolean equal(RecurringDurationBase reccD)
            throws ValidationException
Returns true if the present instance of Recurring Duration Base 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

getDuration

public TimeDuration getDuration()

getHour

public short getHour()

getMilli

public short getMilli()

getMinute

public short getMinute()

getPeriod

public TimeDuration getPeriod()

getSeconds

public short getSeconds()

getValues

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

getZoneHour

public short getZoneHour()

getZoneMinute

public short getZoneMinute()

isGreater

public boolean isGreater(RecurringDurationBase reccD)
            throws ValidationException
Returns true if the present instance of RecurringDurationBase is greater than the parameter

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

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

isNegative

public boolean isNegative()

isUTC

public boolean isUTC()
return true if this recurring Duration type is UTC i.e if there is no time zone.
Returns:
true if this recurringDuration type is UTC else false.

isZoneNegative

public boolean isZoneNegative()

setDuration

public void setDuration(String duration)
            throws UnsupportedOperationException
set the duration facet for this recurringDuration
Parameters:
duration - the period to set

setDuration

public void setDuration(TimeDuration duration)
            throws UnsupportedOperationException
set the duration facet for this recurringDuration
Parameters:
duration - the period to set

setHour

public void setHour(short hour)
            throws UnsupportedOperationException
set the hour field for this recurringDuration
Parameters:
hour - the hour to set

setMinute

public void setMinute(short minute)
            throws UnsupportedOperationException
set the minute field for this recurringDuration
Parameters:
minute - the minute to set

setNegative

public void setNegative()
set the negative field to true

setPeriod

public void setPeriod(String period)
            throws UnsupportedOperationException
set the period facet for this recurringDuration
Parameters:
period - the period to set

setPeriod

public void setPeriod(TimeDuration period)
            throws UnsupportedOperationException
set the period facet for this recurringDuration
Parameters:
period - the period to set

setSecond

public void setSecond(short second,
                      short millsecond)
            throws UnsupportedOperationException
set the second field for this recurringDuration
Parameters:
second - the second to set
millsecond - the millisecond to set

setUTC

public void setUTC()
set the UTC field to true

setValues

public void setValues(short[] values)
            throws UnsupportedOperationException
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 6 and ordered like that:
  • hour
  • minute
  • second
  • millisecond
  • zoneHour
  • zoneMinute

setZone

public void setZone(short hour,
                    short minute)
            throws UnsupportedOperationException
set the time zone fields for this recurringDuration
Parameters:
hour - the time zone hour to set
minute - the time zone minute to set

setZoneNegative

public void setZoneNegative()
            throws UnsupportedOperationException
set the time zone negative field to true

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