RecurringObject Class

This is an abstract base class from which recurring calendar objects are derived. It defines a common set of properties and methods used to resolve an object to one or more dates based on the combination of recurrence rules, recurrence dates, exception rules, and exception dates.

Definition

Namespace: EWSoftware.PDI.Objects
Assembly: EWSoftware.PDI.Data (in EWSoftware.PDI.Data.dll) Version: 2023.1.2.0
public abstract class RecurringObject : CalendarObject
Inheritance
Object    PDIObject    CalendarObject    RecurringObject
Derived

Constructors

RecurringObjectInitializes a new instance of the RecurringObject class

Properties

ExceptionDates This is used to get the Exception Date (EXDATE) properties. There may be more than one.
ExceptionRules This is used to get the Exception Rule (EXRULE) properties. There may be more than one.
ExcludeStartDateTime This property can be used to override the specification and exclude the start date/time if it is not generated by one of the recurrence rule or recurrence date properties.
InstanceDuration This must be implemented to return the duration for the recurring instances
IsRecurring This can be used to see if an item has recurrence information
RecurDates This is used to get the Recur Date (RDATE) properties. There may be more than one.
RecurrenceRules This is used to get the Recurrence Rule (RRULE) properties. There may be more than one.
StartDateTime This must be implemented to return the start date/time property that is used to determine when the first instance occurs.
TimeZoneId This must be implemented to return the time zone ID for the start date
Version This is overridden to propagate the version to all properties in the object that need it when the version is set on the item.
(Inherited from CalendarObject)
VersionsSupported All objects derived from this class must implement this to indicate the specification versions with which they can be used.
(Inherited from PDIObject)

Methods

AllInstances This method is used to return all recurring instances based on the current settings alone
ApplyTimeZone This is used to apply the selected time zone to all date/time objects in the component and convert them to the new time zone.
(Overrides CalendarObjectApplyTimeZone(VTimeZone))
ClearProperties The method can be called to clear all current property values from the object. The version is left unchanged.
(Overrides CalendarObjectClearProperties)
Clone This must be overridden to allow cloning of a PDI object
(Inherited from PDIObject)
Clone(PDIObject) This is overridden to allow copying of the additional properties
(Overrides PDIObjectClone(PDIObject))
EqualsDetermines whether the specified object is equal to the current object.
(Inherited from Object)
FinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object)
GetHashCodeServes as the default hash function.
(Inherited from Object)
GetTypeGets the Type of the current instance.
(Inherited from Object)
InstancesBetween This method is used to return all recurring instances between the two specified date/times based on the current settings.
LastInstance This method can be used to quickly determine the end date of an item regardless of whether it uses recurrence or not.
MemberwiseCloneCreates a shallow copy of the current Object.
(Inherited from Object)
OccursOn This method is used to determine whether or not an instance of the recurrence falls on the specified date/time.
PropagateVersion This is used to propagate the version to all properties in the object that need it
(Overrides CalendarObjectPropagateVersion)
SetTimeZone This is used to set the selected time zone in all date/time objects in the component without modifying the date/time values.
(Overrides CalendarObjectSetTimeZone(VTimeZone))
TimeZonesUsed This is used to get a list of time zones used by all owned objects
(Overrides CalendarObjectTimeZonesUsed(StringCollection))
ToString Convert the object instance to its string form
(Inherited from CalendarObject)
UpdateTimeZoneId This is used to replace an old time zone ID with a new time zone ID in all properties of a calendar object.
(Overrides CalendarObjectUpdateTimeZoneId(String, String))
WriteToStream(TextWriter) This can be used to write a calendar object to a PDI data stream
(Inherited from CalendarObject)
WriteToStream(TextWriter, StringBuilder) This is used to write recurrence properties to a PDI data stream
(Overrides CalendarObjectWriteToStream(TextWriter, StringBuilder))

See Also