public class DBRepeatRule extends DBObject
4.3.10 Recurrence Rule
Value Name: RECUR
Purpose: This value type is used to identify properties that contain a recurrence rule specification.
Formal Definition: The value type is defined by the following notation:
recur= "FREQ"=freq *(
; either UNTIL or COUNT may appear in a 'recur',
; but UNTIL and COUNT MUST NOT occur in the same 'recur'
( ";" "UNTIL" "=" enddate ) /
( ";" "COUNT" "=" 1*DIGIT ) /
; the rest of these keywords are optional,
; but MUST NOT occur more than once
( ";" "INTERVAL" "=" 1*DIGIT )/
( ";" "BYSECOND" "=" byseclist )/
( ";" "BYMINUTE" "=" byminlist )/
( ";" "BYHOUR" "=" byhrlist ) /
( ";" "BYDAY" "=" bywdaylist )/
( ";" "BYMONTHDAY" "=" bymodaylist )/
( ";" "BYYEARDAY" "=" byyrdaylist ) /
( ";" "BYWEEKNO" "=" bywknolist ) /
( ";" "BYMONTH" "=" bymolist )/
( ";" "BYSETPOS" "=" bysplist ) /
( ";" "WKST" "=" weekday )/
( ";" x-name "=" text )
)
freq = "SECONDLY" / "MINUTELY" / "HOURLY" / "DAILY"
/ "WEEKLY" / "MONTHLY" / "YEARLY"
enddate= date
enddate=/ date-time;An UTC value
byseclist= seconds / ( seconds *("," seconds) )
seconds= 1DIGIT / 2DIGIT ;0 to 59
byminlist= minutes / ( minutes *("," minutes) )
minutes= 1DIGIT / 2DIGIT ;0 to 59
byhrlist = hour / ( hour *("," hour) )
hour = 1DIGIT / 2DIGIT ;0 to 23
bywdaylist = weekdaynum / ( weekdaynum *("," weekdaynum) )
weekdaynum = [([plus] ordwk / minus ordwk)] weekday
plus = "+"
minus= "-"
ordwk= 1DIGIT / 2DIGIT ;1 to 53
weekday= "SU" / "MO" / "TU" / "WE" / "TH" / "FR" / "SA"
;Corresponding to SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY,
;FRIDAY, SATURDAY and SUNDAY days of the week.
bymodaylist = monthdaynum / ( monthdaynum *("," monthdaynum) )
monthdaynum = ([plus] ordmoday) / (minus ordmoday)
ordmoday = 1DIGIT / 2DIGIT ;1 to 31
byyrdaylist = yeardaynum / ( yeardaynum *("," yeardaynum) )
yeardaynum = ([plus] ordyrday) / (minus ordyrday)
ordyrday = 1DIGIT / 2DIGIT / 3DIGIT;1 to 366
bywknolist = weeknum / ( weeknum *("," weeknum) )
weeknum= ([plus] ordwk) / (minus ordwk)
bymolist = monthnum / ( monthnum *("," monthnum) )
monthnum = 1DIGIT / 2DIGIT ;1 to 12
bysplist = setposday / ( setposday *("," setposday) )
setposday= yeardaynum
Description: If the property permits, multiple "recur" values are specified by a COMMA character (US-ASCII decimal 44) separated list of values. The value type is a structured value consisting of a list of one or more recurrence grammar parts. Each rule part is defined by a NAME=VALUE pair. The rule parts are separated from each other by the SEMICOLON character (US-ASCII decimal 59). The rule parts are not ordered in any particular sequence. Individual rule parts MUST only be specified once.
The FREQ rule part identifies the type of recurrence rule. This rule part MUST be specified in the recurrence rule. Valid values include SECONDLY, to specify repeatin events based on an interval of a second or more; MINUTELY, to specify repeating events based on an interval of a minute or more; HOURLY, to specify repeating events based on an interval of an hour or more; DAILY, to specify repeating events based on an interval of a day or more; WEEKLY, to specify repeating events based on an interval of a week or more; MONTHLY, to specify repeating events based on an interval of a month or more; and YEARLY, to specify repeating events based on an interval of a year or more.
The INTERVAL rule part contains a positive integer representing how often the recurrence rule repeats. The default value is "1", meaning every second for a SECONDLY rule, or every minute for a MINUTELY rule, every hour for an HOURLY rule, every day for a DAILY rule, every week for a WEEKLY rule, every month for a MONTHLY rule and every year for a YEARLY rule.
The UNTIL rule part defines a date-time value which bounds the recurrence rule in an inclusive manner. If the value specified by UNTIL is synchronized with the specified recurrence, this date or date-time becomes the last instance of the recurrence. If specified as a date-time value, then it MUST be specified in an UTC time format. If not present, and the COUNT rule part is also not present, the RRULE is considered to repeat forever.
The COUNT rule part defines the number of occurrences at which to range-bound the recurrence. The "DTSTART" property value, if specified, counts as the first occurrence.
The BYSECOND rule part specifies a COMMA character (US-ASCII decimal 44) separated list of seconds within a minute. Valid values are 0 to 59. The BYMINUTE rule part specifies a COMMA character (US-ASCII decimal 44) separated list of minutes within hour. Valid values are 0 to 59. The BYHOUR rule part specifies a COMMA character (US- ASCII decimal 44) separated list of hours of the day. Valid values are 0 to 23.
The BYDAY rule part specifies a COMMA character (US-ASCII decimal 44) separated list of days of the week; MO indicates Monday; TU indicates Tuesday; WE indicates Wednesday; TH indicates Thursday; FR indicates Friday; SA indicates Saturday; SU indicates Sunday.
Each BYDAY value can also be preceded by a positive (+n) or negative (-n) integer. If present, this indicates the nth occurrence of the specific day within the MONTHLY or YEARLY RRULE. For example, within a MONTHLY rule, +1MO (or simply 1MO) represents the first Monday within the month, whereas -1MO represents the last Monday of the month. If an integer modifier is not present, it means all days of this type within the specified frequency. For example, within a MONTHLY rule, MO represents all Mondays within the month.
The BYMONTHDAY rule part specifies a COMMA character (ASCII decimal 44) separated list of days of the month. Valid values are 1 to 31 or -31 to -1. For example, -10 represents the tenth to the last day of the month.
The BYYEARDAY rule part specifies a COMMA character (US-ASCII decimal 44) separated list of days of the year. Valid values are 1 to 366 or -366 to -1. For example, -1 represents the last day of the year (December 31st) and -306 represents the 306th to the last day of the year (March 1st).
The BYWEEKNO rule part specifies a COMMA character (US-ASCII decimal 44) separated list of ordinals specifying weeks of the year. Valid values are 1 to 53 or -53 to -1. This corresponds to weeks according to week numbering as defined in [ISO 8601]. A week is defined as a seven day period, starting on the day of the week defined to be the week start (see WKST). Week number one of the calendar year is the first week which contains at least four (4) days in that calendar year. This rule part is only valid for YEARLY rules. For example, 3 represents the third week of the year.
Note: Assuming a Monday week start, week 53 can only occur when Thursday is January 1 or if it is a leap year and Wednesday is January 1.
The BYMONTH rule part specifies a COMMA character (US-ASCII decimal 44) separated list of months of the year. Valid values are 1 to 12.
The WKST rule part specifies the day on which the workweek starts. Valid values are MO, TU, WE, TH, FR, SA and SU. This is significant when a WEEKLY RRULE has an interval greater than 1, and a BYDAY rule part is specified. This is also significant when in a YEARLY RRULE when a BYWEEKNO rule part is specified. The default value is MO.
The BYSETPOS rule part specifies a COMMA character (US-ASCII decimal 44) separated list of values which corresponds to the nth occurrence within the set of events specified by the rule. Valid values are 1 to 366 or -366 to -1. It MUST only be used in conjunction with another BYxxx rule part. For example "the last work day of the month" could be represented as:
RRULE:FREQ=MONTHLY;BYDAY=MO,TU,WE,TH,FR;BYSETPOS=-1
Each BYSETPOS value can include a positive (+n) or negative (-n) integer. If present, this indicates the nth occurrence of the specific occurrence within the set of events specified by the rule.
If BYxxx rule part values are found which are beyond the available scope (ie, BYMONTHDAY=30 in February), they are simply ignored.
Information, not contained in the rule, necessary to determine the various recurrence instance start time and dates are derived from the Start Time (DTSTART) entry attribute. For example, "FREQ=YEARLY;BYMONTH=1" doesn't specify a specific day within the month or a time. This information would be the same as what is
specified for DTSTART.
BYxxx rule parts modify the recurrence in some manner. BYxxx rule parts for a period of time which is the same or greater than the frequency generally reduce or limit the number of occurrences of the recurrence generated. For example, "FREQ=DAILY;BYMONTH=1" reduces the number of recurrence instances from all days (if BYMONTH tag is not present) to all days in January. BYxxx rule parts for a period of
time less than the frequency generally increase or expand the number of occurrences of the recurrence. For example, "FREQ=YEARLY;BYMONTH=1,2" increases the number of days within the yearly recurrence set from 1 (if BYMONTH tag is not present) to 2.
If multiple BYxxx rule parts are specified, then after evaluating the specified FREQ and INTERVAL rule parts, the BYxxx rule parts are applied to the current set of evaluated occurrences in the following order: BYMONTH, BYWEEKNO, BYYEARDAY, BYMONTHDAY, BYDAY, BYHOUR, BYMINUTE, BYSECOND and BYSETPOS; then COUNT and UNTIL are evaluated.
Here is an example of evaluating multiple BYxxx rule parts.
DTSTART;TZID=US-Eastern:19970105T083000
RRULE:FREQ=YEARLY;INTERVAL=2;BYMONTH=1;BYDAY=SU;BYHOUR=8,9;
BYMINUTE=30
First, the "INTERVAL=2" would be applied to "FREQ=YEARLY" to arrive at "every other year". Then, "BYMONTH=1" would be applied to arrive at "every January, every other year". Then, "BYDAY=SU" would be applied to arrive at "every Sunday in January, every other year". Then, "BYHOUR=8,9" would be applied to arrive at "every Sunday in
January at 8 AM and 9 AM, every other year". Then, "BYMINUTE=30" would be applied to arrive at "every Sunday in January at 8:30 AM and 9:30 AM, every other year". Then, lacking information from RRULE, the second is derived from DTSTART, to end up in "every Sunday in January at 8:30:00 AM and 9:30:00 AM, every other year". Similarly, if the BYMINUTE, BYHOUR, BYDAY, BYMONTHDAY or BYMONTH rule part were
missing, the appropriate minute, hour, day or month would have been retrieved from the "DTSTART" property.
No additional content value encoding (i.e., BACKSLASH character encoding) is defined for this value type.
Example: The following is a rule which specifies 10 meetings which
occur every other day:
FREQ=DAILY;COUNT=10;INTERVAL=2
There are other examples specified in the "RRULE" specification.
DBObject.DenormalizeAction
Modifier and Type | Field and Description |
---|---|
static GlobalId |
DBCLASS_GID
Used to define how a item is repeated.
|
static java.lang.String |
DBCLASS_NAME
Used to define how a item is repeated.
|
ATTRIBUTE_MARVIN, dbClass, ds, NO_LOOP_PARAMS
Constructor and Description |
---|
DBRepeatRule(DBClass def,
DataSource dataSource)
Std.
|
Modifier and Type | Method and Description |
---|---|
static DBRepeatRule |
create(MutableDataSource mds)
Make a new instance of this class.
|
protected void |
extAutoEnterCreate()
Additional functionality when an object is created.
|
protected java.lang.Object |
extGetDerivedValue(DBField field,
FldParams params)
OVERRIDE This method for all objects with derived fields that are NOT linked.
|
protected ValidationError |
extValidateField(DBField field,
ValidationList list)
Additional validation for a particular field.
|
protected void |
extValidateRecord(ValidationList list)
Check that this is valid.
|
DBRepeatFrequency |
findFrequency(java.lang.String... args)
The requency of the repeation
The FREQ rule part identifies the type of recurrence rule. |
static DBRepeatRule |
findKey(DataSource ds,
int key)
Find the target for this class by the primary key
|
DBRepeatRange |
findRange(java.lang.String... args)
To specify the effective range of recurrence instances from the instance
specified by the recurrence identifier specified by the property.
|
DBWeekDay |
findWKST(java.lang.String... args)
The WKST rule part specifies the day on which the workweek starts.
|
java.lang.String |
getByDay(java.lang.String... args) |
java.lang.String |
getByHour(java.lang.String... args) |
java.lang.String |
getByMinute(java.lang.String... args) |
java.lang.String |
getByMonth(java.lang.String... args) |
java.lang.String |
getByMonthDay(java.lang.String... args) |
java.lang.String |
getBySecond(java.lang.String... args) |
java.lang.String |
getBySetPos(java.lang.String... args) |
java.lang.String |
getByWeekNo(java.lang.String... args) |
java.lang.String |
getByYearDay(java.lang.String... args) |
java.lang.String |
getCalculateListDate(java.lang.String... args) |
java.util.Date |
getCalculateNextDate(java.lang.String... args) |
java.util.Date |
getEndTS(java.lang.String... args) |
DBRepeatFrequency |
getFrequency(java.lang.String... args) |
int |
getID(java.lang.String... args) |
int |
getInterval(java.lang.String... args) |
int |
getNumberOfTimes(java.lang.String... args) |
java.lang.String |
getPeriodSummary(java.lang.String... args) |
DBRepeatRange |
getRange(java.lang.String... args) |
java.util.Date |
getStartTS(java.lang.String... args) |
java.util.TimeZone |
getTimeZone()
Get the timezone to use for this session
|
DBWeekDay |
getWKST(java.lang.String... args) |
java.util.TimeZone |
guessTZ()
guess the timezone to use for this repeat rule.
|
java.util.Date[] |
listDate()
A list of all dates for that match the repeat rule
|
java.util.Date[] |
listDate(java.util.Date startAt,
java.util.Date until,
int maxResults)
The list of dates
|
static DBQuery<DBRepeatRule> |
makeQuery(DataSource ds)
Make a new QUERY for this class.
|
java.util.Date |
nextDate()
The next date
|
java.util.Date |
nextDate(java.util.Date startDate)
This function calculates the next run date
|
DBRepeatRule |
setByDay(java.lang.String value,
java.lang.String... args) |
DBRepeatRule |
setByHour(java.lang.String value,
java.lang.String... args) |
DBRepeatRule |
setByMinute(java.lang.String value,
java.lang.String... args) |
DBRepeatRule |
setByMonth(java.lang.String value,
java.lang.String... args) |
DBRepeatRule |
setByMonthDay(java.lang.String value,
java.lang.String... args) |
DBRepeatRule |
setBySecond(java.lang.String value,
java.lang.String... args) |
DBRepeatRule |
setBySetPos(java.lang.String value,
java.lang.String... args) |
DBRepeatRule |
setByWeekNo(java.lang.String value,
java.lang.String... args) |
DBRepeatRule |
setByYearDay(java.lang.String value,
java.lang.String... args) |
DBRepeatRule |
setEndTS(java.util.Date value,
java.lang.String... args) |
DBRepeatRule |
setFrequency(com.aspc.dal.calendar.dbobj.DBRepeatFrequency value,
java.lang.String... args) |
DBRepeatRule |
setID(int value,
java.lang.String... args) |
DBRepeatRule |
setInterval(int value,
java.lang.String... args) |
DBRepeatRule |
setNumberOfTimes(int value,
java.lang.String... args) |
DBRepeatRule |
setRange(com.aspc.dal.calendar.dbobj.DBRepeatRange value,
java.lang.String... args) |
DBRepeatRule |
setStartTS(java.util.Date value,
java.lang.String... args) |
DBRepeatRule |
setTimeZone(com.aspc.dal.dbobj.misc.TimeZone value,
java.lang.String... args) |
DBRepeatRule |
setWKST(com.aspc.dal.calendar.dbobj.DBWeekDay value,
java.lang.String... args) |
java.lang.String |
toString()
The RRULE
|
addReloadEventListener, archiveCheck, autoEnterCreate, calculateValue, calculateValue, calculateValue, callingRestoreByJournal, changeThreadMode, checkCreateAccess, checkDelete, checkDeleteAccess, checkModifyAccess, checkModifyAccess, checkReadAccess, clearCache, copy, copyFields, copyIncludeField, copyInwardLinks, delete, denormalizedResult, displayLogName, displayName, displayValue, doSearch, dump, equals, eventDataLoaded, eventFieldUpdated, extCanDeleteDependantObject, extCheckCreateAccess, extCheckDeleteAccess, extCheckModifyAccess, extCheckModifyAccess, extCheckReadAccess, extCopy, extDelete, extDeleteRecord, extFixUp, extGetDerivedGlobalKey, extGetValue, extIsMandatory, extIsOnChange, extMarkSavePoint, extPostDeleteRecord, extPostSaveRecord, extPreDeleteRecord, extPreSaveRecord, extPreValidate, extPreValidateDelete, extRaiseEvents, extRollbackTo, extSaveRecord, extSetValue, extUndelete, extValidateDelete, fetchLinkHolder, findGlobalKey, findGlobalKey, findGlobalKey, findGlobalKey, findLinkedObject, findLinkedObject, findLinkedObject, findRawData, fireEventDataLoaded, fixUp, forceLockedTransaction, getBoolean, getBoolean, getBoolean, getBoolean, getBoolean, getBoolean, getChangedFieldInfo, getChangedFields, getDate, getDate, getDate, getDate, getDate, getDefaultValue, getDisableOnChangeEvent, getDouble, getDouble, getDouble, getDouble, getDouble, getFieldDouble, getFieldInt, getFieldLong, getFieldString, getFormattedString, getFormattedString, getGlobalKey, getGlobalKey, getGlobalKey, getGlobalKey, getGlobalKey, getInt, getInt, getInt, getInt, getInt, getInt, getInwardLinkage, getKeyString, getKeyValue, getLinkedObject, getLinkedObject, getLinkedObject, getLinkedObjectByKey, getLinkedRowId, getLinkedRowId, getLinkedRowIdByData, getLinkHolder, getLockedTransaction, getLong, getLong, getLong, getLong, getLong, getLong, getMutableArrayValue, getMutableArrayValue, getOriginalKey, getOriginalValue, getOriginalValue, getProcessedValue, getPureValue, getRawData, getRawValue, getRawValue, getRowId, getRowKey, getSecondaryCacheGroupKey, getSrcLayerID, getString, getString, getString, getString, getString, getString, getValue, getValue, getValue, getValue, hasAutoChanged, hasAutoChanged, hasChanged, hasChangedByUser, hasChangedByUserField, hasChangedByUserField, hasFieldChanged, hasFieldChanged, hashCode, hasStoredResult, iCheckDeleteAccess, iCheckModifyAccess, iCheckReadAccess, iGetDenormalizedMap, iGetRawValue, iPlaceDenormalizedResult, iPostSaveOrDeleteRecord, iPreSaveOrDeleteRecord, iPreValidate, iRaiseEvents, iSaveOrDeleteRecord, isBrokenLink, isBrokenLink, isChanged, isDataCacheKnownToBeDirty, isDeleted, isEmpty, iSetValue, isForceReindex, isKeyWordField, isMandatory, isNew, isNull, isNull, isOnChange, isReindex, iValidateRecord, lastTouched, makeArchiveDataLoader, makeClone, makeDataLoader, makeDenormalizedDoc, makeLinkedArray, makeModifyAccessException, makeSearchPlan, makeWriteProvider, manualDenormalizeOnSave, markSavePoint, optLockedTransaction, registerWatchedObject, reindex, releaseDenormalized, removeReloadEventListener, restoreByJournal, rollbackTo, setBoolean, setBoolean, setBoolean, setBoolean, setDisableOnChangeEvent, setDouble, setDouble, setInt, setInt, setLong, setLong, setRawData, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, touch, undelete, validateField, validateRecord, validateSubType
public static final java.lang.String DBCLASS_NAME
public static final GlobalId DBCLASS_GID
public DBRepeatRule(DBClass def, DataSource dataSource) throws java.lang.Exception
def
- The class of this objectdataSource
- The datasource for this objectjava.lang.Exception
- A serious problem occurred@CheckReturnValue public int getID(java.lang.String... args)
@Nonnull public DBRepeatRule setID(int value, java.lang.String... args) throws java.lang.Exception
java.lang.Exception
@CheckReturnValue @Nullable public DBWeekDay getWKST(java.lang.String... args)
@CheckReturnValue @Nonnull public final DBWeekDay findWKST(java.lang.String... args) throws NotFoundException
DBWeekDay
(String,
Searchable)args
- the optional argumentsNotFoundException
- DBWeekDay was not found@Nonnull public DBRepeatRule setWKST(com.aspc.dal.calendar.dbobj.DBWeekDay value, java.lang.String... args) throws java.lang.Exception
java.lang.Exception
@CheckReturnValue @Nonnull public java.lang.String getByDay(java.lang.String... args)
@Nonnull public DBRepeatRule setByDay(java.lang.String value, java.lang.String... args) throws java.lang.Exception
java.lang.Exception
@CheckReturnValue @Nonnull public java.lang.String getByHour(java.lang.String... args)
@Nonnull public DBRepeatRule setByHour(java.lang.String value, java.lang.String... args) throws java.lang.Exception
java.lang.Exception
@CheckReturnValue @Nonnull public java.lang.String getByMinute(java.lang.String... args)
@Nonnull public DBRepeatRule setByMinute(java.lang.String value, java.lang.String... args) throws java.lang.Exception
java.lang.Exception
@CheckReturnValue @Nonnull public java.lang.String getByMonth(java.lang.String... args)
@Nonnull public DBRepeatRule setByMonth(java.lang.String value, java.lang.String... args) throws java.lang.Exception
java.lang.Exception
@CheckReturnValue @Nonnull public java.lang.String getByMonthDay(java.lang.String... args)
@Nonnull public DBRepeatRule setByMonthDay(java.lang.String value, java.lang.String... args) throws java.lang.Exception
java.lang.Exception
@CheckReturnValue @Nonnull public java.lang.String getBySecond(java.lang.String... args)
@Nonnull public DBRepeatRule setBySecond(java.lang.String value, java.lang.String... args) throws java.lang.Exception
java.lang.Exception
@CheckReturnValue @Nonnull public java.lang.String getBySetPos(java.lang.String... args)
@Nonnull public DBRepeatRule setBySetPos(java.lang.String value, java.lang.String... args) throws java.lang.Exception
java.lang.Exception
@CheckReturnValue @Nonnull public java.lang.String getByWeekNo(java.lang.String... args)
@Nonnull public DBRepeatRule setByWeekNo(java.lang.String value, java.lang.String... args) throws java.lang.Exception
java.lang.Exception
@CheckReturnValue @Nonnull public java.lang.String getByYearDay(java.lang.String... args)
@Nonnull public DBRepeatRule setByYearDay(java.lang.String value, java.lang.String... args) throws java.lang.Exception
java.lang.Exception
@CheckReturnValue @Nonnull public java.lang.String getCalculateListDate(java.lang.String... args)
@CheckReturnValue @Nullable public java.util.Date getCalculateNextDate(java.lang.String... args)
@CheckReturnValue @Nullable public java.util.Date getEndTS(java.lang.String... args)
@Nonnull public DBRepeatRule setEndTS(java.util.Date value, java.lang.String... args) throws java.lang.Exception
java.lang.Exception
@CheckReturnValue @Nullable public DBRepeatFrequency getFrequency(java.lang.String... args)
@CheckReturnValue @Nonnull public final DBRepeatFrequency findFrequency(java.lang.String... args) throws NotFoundException
DBRepeatFrequency
(String, Mandatory, Searchable)args
- the optional argumentsNotFoundException
- DBRepeatFrequency was not found@Nonnull public DBRepeatRule setFrequency(com.aspc.dal.calendar.dbobj.DBRepeatFrequency value, java.lang.String... args) throws java.lang.Exception
java.lang.Exception
@CheckReturnValue public int getInterval(java.lang.String... args)
@Nonnull public DBRepeatRule setInterval(int value, java.lang.String... args) throws java.lang.Exception
java.lang.Exception
@CheckReturnValue public int getNumberOfTimes(java.lang.String... args)
@Nonnull public DBRepeatRule setNumberOfTimes(int value, java.lang.String... args) throws java.lang.Exception
java.lang.Exception
@CheckReturnValue @Nonnull public java.lang.String getPeriodSummary(java.lang.String... args)
@CheckReturnValue @Nullable public DBRepeatRange getRange(java.lang.String... args)
@CheckReturnValue @Nonnull public final DBRepeatRange findRange(java.lang.String... args) throws NotFoundException
DBRepeatRange
(String, Searchable)args
- the optional argumentsNotFoundException
- DBRepeatRange was not found@Nonnull public DBRepeatRule setRange(com.aspc.dal.calendar.dbobj.DBRepeatRange value, java.lang.String... args) throws java.lang.Exception
java.lang.Exception
@CheckReturnValue @Nullable public java.util.Date getStartTS(java.lang.String... args)
@Nonnull public DBRepeatRule setStartTS(java.util.Date value, java.lang.String... args) throws java.lang.Exception
java.lang.Exception
@Nonnull public DBRepeatRule setTimeZone(com.aspc.dal.dbobj.misc.TimeZone value, java.lang.String... args) throws java.lang.Exception
java.lang.Exception
@Nonnull @CheckReturnValue public static DBRepeatRule create(@Nonnull MutableDataSource mds) throws java.lang.Exception
mds
- the datasourcejava.lang.Exception
- an object of this class could not be created@Nonnull @CheckReturnValue public static DBQuery<DBRepeatRule> makeQuery(@Nonnull DataSource ds) throws NotFoundException
ds
- the datasourceNotFoundException
- if class could not be found@Nonnull @CheckReturnValue public static DBRepeatRule findKey(@Nonnull DataSource ds, int key) throws NotFoundException, java.lang.Exception
ds
- the datasourcekey
- the valueNotFoundException
- if target could not be foundjava.lang.Exception
- a serious problem@OverridingMethodsMustInvokeSuper protected void extValidateRecord(@Nonnull ValidationList list) throws java.lang.Exception
extValidateRecord
in class DBObject
list
- The validation list.java.lang.Exception
- A serious problem@OverridingMethodsMustInvokeSuper protected void extAutoEnterCreate() throws java.lang.Exception
extAutoEnterCreate
in class DBObject
java.lang.Exception
- A serious problemcom.aspc.DBObj.DBObject#autoEnterCreate()
@CheckReturnValue protected java.lang.Object extGetDerivedValue(@Nonnull DBField field, @Nullable FldParams params) throws java.lang.Exception
extGetDerivedValue
in class DBObject
params
- The parameters for this field eg. language= or default=field
- The field to getjava.lang.Exception
- a serious problempublic final java.util.TimeZone getTimeZone()
@CheckReturnValue @Nonnull public java.lang.String toString()
@CheckReturnValue @OverridingMethodsMustInvokeSuper @Nullable protected ValidationError extValidateField(@Nonnull DBField field, @Nonnull ValidationList list) throws java.lang.Exception
extValidateField
in class DBObject
list
- The validation listfield
- The field to be validatedjava.lang.Exception
- A serious problempublic java.util.Date nextDate()
@Nullable public java.util.Date nextDate(java.util.Date startDate)
startDate
- the start date. If null, defaults to current date/timepublic java.util.Date[] listDate()
public java.util.Date[] listDate(java.util.Date startAt, java.util.Date until, int maxResults)
startAt
- the start dateuntil
- the end datemaxResults
- the maximum number of dates to returnpublic java.util.TimeZone guessTZ()
stSoftware Copyright © 2001-2014 stSoftware All Rights Reserved.