Module ical4j.core

Class RecurValidator

java.lang.Object
net.fortuna.ical4j.validate.RecurValidator
All Implemented Interfaces:
Serializable, Validator<Recur<?>>

public class RecurValidator extends Object implements Validator<Recur<?>>
This validator provides semantic recurrence rule validation according to the RFC5545 specification excerpt listed below.

       The table below summarizes the dependency of BYxxx rule part
       expand or limit behavior on the FREQ rule part value.

       The term "N/A" means that the corresponding BYxxx rule part MUST
       NOT be used with the corresponding FREQ value.

       BYDAY has some special behavior depending on the FREQ value and
       this is described in separate notes below the table.

    +----------+--------+--------+-------+-------+------+-------+------+
    |          |SECONDLY|MINUTELY|HOURLY |DAILY  |WEEKLY|MONTHLY|YEARLY|
    +----------+--------+--------+-------+-------+------+-------+------+
    |BYMONTH   |Limit   |Limit   |Limit  |Limit  |Limit |Limit  |Expand|
    +----------+--------+--------+-------+-------+------+-------+------+
    |BYWEEKNO  |N/A     |N/A     |N/A    |N/A    |N/A   |N/A    |Expand|
    +----------+--------+--------+-------+-------+------+-------+------+
    |BYYEARDAY |Limit   |Limit   |Limit  |N/A    |N/A   |N/A    |Expand|
    +----------+--------+--------+-------+-------+------+-------+------+
    |BYMONTHDAY|Limit   |Limit   |Limit  |Limit  |N/A   |Expand |Expand|
    +----------+--------+--------+-------+-------+------+-------+------+
    |BYDAY     |Limit   |Limit   |Limit  |Limit  |Expand|Note 1 |Note 2|
    +----------+--------+--------+-------+-------+------+-------+------+
    |BYHOUR    |Limit   |Limit   |Limit  |Expand |Expand|Expand |Expand|
    +----------+--------+--------+-------+-------+------+-------+------+
    |BYMINUTE  |Limit   |Limit   |Expand |Expand |Expand|Expand |Expand|
    +----------+--------+--------+-------+-------+------+-------+------+
    |BYSECOND  |Limit   |Expand  |Expand |Expand |Expand|Expand |Expand|
    +----------+--------+--------+-------+-------+------+-------+------+
    |BYSETPOS  |Limit   |Limit   |Limit  |Limit  |Limit |Limit  |Limit |
    +----------+--------+--------+-------+-------+------+-------+------+

       Note 1:  Limit if BYMONTHDAY is present; otherwise, special expand
                for MONTHLY.

       Note 2:  Limit if BYYEARDAY or BYMONTHDAY is present; otherwise,
                special expand for WEEKLY if BYWEEKNO present; otherwise,
                special expand for MONTHLY if BYMONTH present; otherwise,
                special expand for YEARLY.
 
See Also:
  • Constructor Details

    • RecurValidator

      public RecurValidator()
  • Method Details

    • validate

      public ValidationResult validate(Recur<?> target) throws ValidationException
      Description copied from interface: Validator
      Validates the target content by applying validation rules. When content fails validation the validator may throw an exception depending on the implementation.
      Specified by:
      validate in interface Validator<Recur<?>>
      Parameters:
      target - the target of validation
      Returns:
      the result of validation applied to the specified target
      Throws:
      ValidationException - indicates validation failure (implementation-specific)