org.exolab.castor.types
Class RecurringDurationBase

java.lang.Object
  extended byorg.exolab.castor.types.RecurringDurationBase
All Implemented Interfaces:
java.io.Serializable
Direct Known 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

Method Summary
 boolean equal(RecurringDurationBase reccD)
           Returns true if the present instance of Recurring Duration Base is equal to the parameter.
 boolean equals(java.lang.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
 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(java.lang.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(java.lang.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
 
Methods inherited from class java.lang.Object
getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

setPeriod

public void setPeriod(TimeDuration period)
               throws OperationNotSupportedException
set the period facet for this recurringDuration

Parameters:
period - the period to set
Throws:
OperationNotSupportedException - this exception is thrown when changing the value of the period facet is not allowed

setPeriod

public void setPeriod(java.lang.String period)
               throws OperationNotSupportedException
set the period facet for this recurringDuration

Parameters:
period - the period to set
Throws:
OperationNotSupportedException - this exception is thrown when changing the value of the period facet is not allowed

setDuration

public void setDuration(TimeDuration duration)
                 throws OperationNotSupportedException
set the duration facet for this recurringDuration

Parameters:
duration - the period to set
Throws:
OperationNotSupportedException - this exception is thrown when changing the value of the duration facet is not allowed

setDuration

public void setDuration(java.lang.String duration)
                 throws OperationNotSupportedException
set the duration facet for this recurringDuration

Parameters:
duration - the period to set
Throws:
OperationNotSupportedException - this exception is thrown when changing the value of the duration facet is not allowed

setHour

public void setHour(short hour)
             throws OperationNotSupportedException
set the hour field for this recurringDuration

Parameters:
hour - the hour to set
Throws:
OperationNotSupportedException - this exception is thrown when changing the value of the hour field is not allowed

setMinute

public void setMinute(short minute)
               throws OperationNotSupportedException
set the minute field for this recurringDuration

Parameters:
minute - the minute to set
Throws:
OperationNotSupportedException - this exception is thrown when changing the value of the minute field is not allowed

setSecond

public void setSecond(short second,
                      short millsecond)
               throws OperationNotSupportedException
set the second field for this recurringDuration

Parameters:
second - the second to set
millsecond - the millisecond to set
Throws:
OperationNotSupportedException - this exception is thrown when changing the value of the second field is not allowed

setZone

public void setZone(short hour,
                    short minute)
             throws OperationNotSupportedException
set the time zone fields for this recurringDuration

Parameters:
hour - the time zone hour to set
minute - the time zone minute to set
Throws:
OperationNotSupportedException - this exception is thrown when changing the value of the time zone fields is not allowed

setValues

public void setValues(short[] values)
               throws OperationNotSupportedException
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
Throws:
OperationNotSupportedException - this exception is thrown when changing the value of a time related field is not allowed

setNegative

public void setNegative()
set the negative field to true


setZoneNegative

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

Throws:
OperationNotSupportedException - this exception is thrown when changing the time zone fields is not allowed

setUTC

public void setUTC()
set the UTC field to true


getPeriod

public TimeDuration getPeriod()

getDuration

public TimeDuration getDuration()

getHour

public short getHour()

getMinute

public short getMinute()

getSeconds

public short getSeconds()

getMilli

public short getMilli()

getZoneHour

public short getZoneHour()

getZoneMinute

public short getZoneMinute()

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

isUTC

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


isNegative

public boolean isNegative()

isZoneNegative

public boolean isZoneNegative()

equals

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

See Also:
equal(org.exolab.castor.types.RecurringDurationBase)

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
Throws:
ValidationException

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 < rd2 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
Throws:
ValidationException


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