diff --git a/src/main/java/net/fortuna/ical4j/model/component/VAlarm.java b/src/main/java/net/fortuna/ical4j/model/component/VAlarm.java index 4ec93219f..6c9fb8c15 100644 --- a/src/main/java/net/fortuna/ical4j/model/component/VAlarm.java +++ b/src/main/java/net/fortuna/ical4j/model/component/VAlarm.java @@ -36,8 +36,6 @@ import net.fortuna.ical4j.validate.*; import java.time.temporal.TemporalAmount; -import java.util.Arrays; -import java.util.Collections; import java.util.HashMap; import java.util.Map; @@ -199,14 +197,12 @@ public class VAlarm extends CalendarComponent { private final Map actionValidators = new HashMap(); { - actionValidators.put(Action.AUDIO, new ComponentValidator( - Collections.singletonList(new ValidationRule(OneOrLess, ATTACH)))); - actionValidators.put(Action.DISPLAY, new ComponentValidator( - Collections.singletonList(new ValidationRule(One, DESCRIPTION)))); - actionValidators.put(Action.EMAIL, new ComponentValidator( - Arrays.asList(new ValidationRule(One, DESCRIPTION, SUMMARY), new ValidationRule(OneOrMore, ATTENDEE)))); - actionValidators.put(Action.PROCEDURE, new ComponentValidator( - Arrays.asList(new ValidationRule(One, ATTACH), new ValidationRule(OneOrLess, DESCRIPTION)))); + actionValidators.put(Action.AUDIO, new ComponentValidator(new ValidationRule(OneOrLess, ATTACH))); + actionValidators.put(Action.DISPLAY, new ComponentValidator(new ValidationRule(One, DESCRIPTION))); + actionValidators.put(Action.EMAIL, new ComponentValidator(new ValidationRule(One, DESCRIPTION, SUMMARY), + new ValidationRule(OneOrMore, ATTENDEE))); + actionValidators.put(Action.PROCEDURE, new ComponentValidator(new ValidationRule(One, ATTACH), + new ValidationRule(OneOrLess, DESCRIPTION))); } /** diff --git a/src/main/java/net/fortuna/ical4j/model/component/VEvent.java b/src/main/java/net/fortuna/ical4j/model/component/VEvent.java index 02bcf3c54..3a2221ab8 100644 --- a/src/main/java/net/fortuna/ical4j/model/component/VEvent.java +++ b/src/main/java/net/fortuna/ical4j/model/component/VEvent.java @@ -201,50 +201,43 @@ public class VEvent extends CalendarComponent { private final Map methodValidators = new HashMap(); { - methodValidators.put(Method.ADD, new VEventValidator(Arrays.asList( - new ValidationRule(One, DTSTAMP, DTSTART, ORGANIZER, SEQUENCE, SUMMARY, UID), + methodValidators.put(Method.ADD, new VEventValidator(new ValidationRule(One, DTSTAMP, DTSTART, ORGANIZER, SEQUENCE, SUMMARY, UID), new ValidationRule(OneOrLess, CATEGORIES, CLASS, CREATED, DESCRIPTION, DTEND, DURATION, GEO, LAST_MODIFIED, LOCATION, PRIORITY, RESOURCES, STATUS, TRANSP, URL), - new ValidationRule(None, RECURRENCE_ID, REQUEST_STATUS)))); - methodValidators.put(Method.CANCEL, new VEventValidator(Arrays.asList( - new ValidationRule(One, DTSTAMP, DTSTART, ORGANIZER, SEQUENCE, UID), + new ValidationRule(None, RECURRENCE_ID, REQUEST_STATUS))); + methodValidators.put(Method.CANCEL, new VEventValidator(false, new ValidationRule(One, DTSTAMP, DTSTART, ORGANIZER, SEQUENCE, UID), new ValidationRule(OneOrLess, CATEGORIES, CLASS, CREATED, DESCRIPTION, DTEND, DTSTART, DURATION, GEO, LAST_MODIFIED, LOCATION, PRIORITY, RECURRENCE_ID, RESOURCES, STATUS, SUMMARY, TRANSP, URL), - new ValidationRule(None, REQUEST_STATUS)), false)); - methodValidators.put(Method.COUNTER, new VEventValidator(Arrays.asList( - new ValidationRule(One, DTSTAMP, DTSTART, SEQUENCE, SUMMARY, UID), + new ValidationRule(None, REQUEST_STATUS))); + methodValidators.put(Method.COUNTER, new VEventValidator(new ValidationRule(One, DTSTAMP, DTSTART, SEQUENCE, SUMMARY, UID), new ValidationRule(One, true, ORGANIZER), new ValidationRule(OneOrLess, CATEGORIES, CLASS, CREATED, DESCRIPTION, DTEND, DURATION, GEO, - LAST_MODIFIED, LOCATION, PRIORITY, RECURRENCE_ID, RESOURCES, STATUS, TRANSP, URL)))); - methodValidators.put(Method.DECLINE_COUNTER, new VEventValidator(Arrays.asList( - new ValidationRule(One, DTSTAMP, ORGANIZER, UID), + LAST_MODIFIED, LOCATION, PRIORITY, RECURRENCE_ID, RESOURCES, STATUS, TRANSP, URL))); + methodValidators.put(Method.DECLINE_COUNTER, new VEventValidator(false, new ValidationRule(One, DTSTAMP, ORGANIZER, UID), new ValidationRule(OneOrLess, RECURRENCE_ID, SEQUENCE), new ValidationRule(None, ATTACH, ATTENDEE, CATEGORIES, CLASS, CONTACT, CREATED, DESCRIPTION, DTEND, DTSTART, DURATION, EXDATE, EXRULE, GEO, LAST_MODIFIED, LOCATION, PRIORITY, RDATE, RELATED_TO, - RESOURCES, RRULE, STATUS, SUMMARY, TRANSP, URL)), false)); - methodValidators.put(Method.PUBLISH, new VEventValidator(Arrays.asList( - new ValidationRule(One, DTSTART, UID), + RESOURCES, RRULE, STATUS, SUMMARY, TRANSP, URL))); + methodValidators.put(Method.PUBLISH, new VEventValidator(new ValidationRule(One, DTSTART, UID), new ValidationRule(One, true, DTSTAMP, ORGANIZER, SUMMARY), new ValidationRule(OneOrLess, RECURRENCE_ID, SEQUENCE, CATEGORIES, CLASS, CREATED, DESCRIPTION, DTEND, DURATION, GEO, LAST_MODIFIED, LOCATION, PRIORITY, RESOURCES, STATUS, TRANSP, URL), new ValidationRule(None, true, ATTENDEE), - new ValidationRule(None, REQUEST_STATUS)))); - methodValidators.put(Method.REFRESH, new VEventValidator(Arrays.asList( - new ValidationRule(One, ATTENDEE, DTSTAMP, ORGANIZER, UID), + new ValidationRule(None, REQUEST_STATUS))); + methodValidators.put(Method.REFRESH, new VEventValidator(false, new ValidationRule(One, ATTENDEE, DTSTAMP, ORGANIZER, UID), new ValidationRule(OneOrLess, RECURRENCE_ID), new ValidationRule(None, ATTACH, CATEGORIES, CLASS, CONTACT, CREATED, DESCRIPTION, DTEND, DTSTART, DURATION, EXDATE, EXRULE, GEO, LAST_MODIFIED, LOCATION, PRIORITY, RDATE, RELATED_TO, - REQUEST_STATUS, RESOURCES, RRULE, SEQUENCE, STATUS, SUMMARY, TRANSP, URL)), false)); - methodValidators.put(Method.REPLY, new VEventValidator(Arrays.asList( + REQUEST_STATUS, RESOURCES, RRULE, SEQUENCE, STATUS, SUMMARY, TRANSP, URL))); + methodValidators.put(Method.REPLY, new VEventValidator(CompatibilityHints.isHintEnabled(CompatibilityHints.KEY_RELAXED_VALIDATION), new ValidationRule(One, ATTENDEE, DTSTAMP, ORGANIZER, UID), new ValidationRule(OneOrLess, RECURRENCE_ID, SEQUENCE, CATEGORIES, CLASS, CREATED, DESCRIPTION, DTEND, DTSTART, DURATION, GEO, LAST_MODIFIED, LOCATION, PRIORITY, RESOURCES, STATUS, SUMMARY, TRANSP, - URL)), CompatibilityHints.isHintEnabled(CompatibilityHints.KEY_RELAXED_VALIDATION))); - methodValidators.put(Method.REQUEST, new VEventValidator(Arrays.asList( - new ValidationRule(OneOrMore, true, ATTENDEE), + URL))); + methodValidators.put(Method.REQUEST, new VEventValidator(new ValidationRule(OneOrMore, true, ATTENDEE), new ValidationRule(One, DTSTAMP, DTSTART, ORGANIZER, SUMMARY, UID), new ValidationRule(OneOrLess, SEQUENCE, CATEGORIES, CLASS, CREATED, DESCRIPTION, DTEND, DURATION, GEO, - LAST_MODIFIED, LOCATION, PRIORITY, RECURRENCE_ID, RESOURCES, STATUS, TRANSP, URL)))); + LAST_MODIFIED, LOCATION, PRIORITY, RECURRENCE_ID, RESOURCES, STATUS, TRANSP, URL))); } private ComponentList alarms; diff --git a/src/main/java/net/fortuna/ical4j/model/component/VFreeBusy.java b/src/main/java/net/fortuna/ical4j/model/component/VFreeBusy.java index a799e93c9..45d8ef031 100644 --- a/src/main/java/net/fortuna/ical4j/model/component/VFreeBusy.java +++ b/src/main/java/net/fortuna/ical4j/model/component/VFreeBusy.java @@ -207,19 +207,16 @@ public class VFreeBusy extends CalendarComponent { private final Map methodValidators = new HashMap(); { - methodValidators.put(Method.PUBLISH, new ComponentValidator(Arrays.asList( - new ValidationRule(OneOrMore, FREEBUSY), + methodValidators.put(Method.PUBLISH, new ComponentValidator(new ValidationRule(OneOrMore, FREEBUSY), new ValidationRule(One, DTSTAMP, DTSTART, DTEND, ORGANIZER, UID), new ValidationRule(OneOrLess, URL), - new ValidationRule(None, ATTENDEE, DURATION, REQUEST_STATUS)))); - methodValidators.put(Method.REPLY, new ComponentValidator(Arrays.asList( - new ValidationRule(One, ATTENDEE, DTSTAMP, DTEND, DTSTART, ORGANIZER, UID), + new ValidationRule(None, ATTENDEE, DURATION, REQUEST_STATUS))); + methodValidators.put(Method.REPLY, new ComponentValidator(new ValidationRule(One, ATTENDEE, DTSTAMP, DTEND, DTSTART, ORGANIZER, UID), new ValidationRule(OneOrLess, URL), - new ValidationRule(None, DURATION, SEQUENCE)))); - methodValidators.put(Method.REQUEST, new ComponentValidator(Arrays.asList( - new ValidationRule(OneOrMore, ATTENDEE), + new ValidationRule(None, DURATION, SEQUENCE))); + methodValidators.put(Method.REQUEST, new ComponentValidator(new ValidationRule(OneOrMore, ATTENDEE), new ValidationRule(One, DTEND, DTSTAMP, DTSTART, ORGANIZER, UID), - new ValidationRule(None, FREEBUSY, DURATION, REQUEST_STATUS, URL)))); + new ValidationRule(None, FREEBUSY, DURATION, REQUEST_STATUS, URL))); } /** diff --git a/src/main/java/net/fortuna/ical4j/model/component/VJournal.java b/src/main/java/net/fortuna/ical4j/model/component/VJournal.java index 869d5cde0..29cefd449 100644 --- a/src/main/java/net/fortuna/ical4j/model/component/VJournal.java +++ b/src/main/java/net/fortuna/ical4j/model/component/VJournal.java @@ -108,20 +108,17 @@ public class VJournal extends CalendarComponent { private final Map methodValidators = new HashMap(); { - methodValidators.put(Method.ADD, new ComponentValidator(Arrays.asList( - new ValidationRule(One, DESCRIPTION, DTSTAMP, DTSTART, ORGANIZER, SEQUENCE, UID), + methodValidators.put(Method.ADD, new ComponentValidator(new ValidationRule(One, DESCRIPTION, DTSTAMP, DTSTART, ORGANIZER, SEQUENCE, UID), new ValidationRule(OneOrLess, CATEGORIES, CLASS, CREATED, LAST_MODIFIED, STATUS, SUMMARY, URL), - new ValidationRule(None, ATTENDEE, RECURRENCE_ID)))); - methodValidators.put(Method.CANCEL, new ComponentValidator(Arrays.asList( - new ValidationRule(One, DTSTAMP, ORGANIZER, SEQUENCE, UID), + new ValidationRule(None, ATTENDEE, RECURRENCE_ID))); + methodValidators.put(Method.CANCEL, new ComponentValidator(new ValidationRule(One, DTSTAMP, ORGANIZER, SEQUENCE, UID), new ValidationRule(OneOrLess, CATEGORIES, CLASS, CREATED, DESCRIPTION, DTSTART, LAST_MODIFIED, RECURRENCE_ID, STATUS, SUMMARY, URL), - new ValidationRule(None, REQUEST_STATUS)))); - methodValidators.put(Method.PUBLISH, new ComponentValidator(Arrays.asList( - new ValidationRule(One, DESCRIPTION, DTSTAMP, DTSTART, ORGANIZER, UID), + new ValidationRule(None, REQUEST_STATUS))); + methodValidators.put(Method.PUBLISH, new ComponentValidator(new ValidationRule(One, DESCRIPTION, DTSTAMP, DTSTART, ORGANIZER, UID), new ValidationRule(OneOrLess, CATEGORIES, CLASS, CREATED, LAST_MODIFIED, RECURRENCE_ID, SEQUENCE, STATUS, SUMMARY, URL), - new ValidationRule(None, ATTENDEE)))); + new ValidationRule(None, ATTENDEE))); } /** diff --git a/src/main/java/net/fortuna/ical4j/model/component/VTimeZone.java b/src/main/java/net/fortuna/ical4j/model/component/VTimeZone.java index b611ef4c3..f0af563a8 100644 --- a/src/main/java/net/fortuna/ical4j/model/component/VTimeZone.java +++ b/src/main/java/net/fortuna/ical4j/model/component/VTimeZone.java @@ -46,7 +46,6 @@ import java.io.IOException; import java.net.URISyntaxException; import java.text.ParseException; -import java.util.Collections; import java.util.Objects; /** @@ -126,7 +125,7 @@ public class VTimeZone extends CalendarComponent { private static final long serialVersionUID = 5629679741050917815L; - private final Validator itipValidator = new VTimeZoneValidator(Collections.emptyList()); + private final Validator itipValidator = new VTimeZoneValidator(); private ComponentList observances; diff --git a/src/main/java/net/fortuna/ical4j/model/component/VToDo.java b/src/main/java/net/fortuna/ical4j/model/component/VToDo.java index 38510ebfe..d08cdd180 100644 --- a/src/main/java/net/fortuna/ical4j/model/component/VToDo.java +++ b/src/main/java/net/fortuna/ical4j/model/component/VToDo.java @@ -127,52 +127,44 @@ public class VToDo extends CalendarComponent { private final Map methodValidators = new HashMap(); { - methodValidators.put(Method.ADD, new VToDoValidator(Arrays.asList( - new ValidationRule(One, DTSTAMP, ORGANIZER, PRIORITY, SEQUENCE, SUMMARY, UID), + methodValidators.put(Method.ADD, new VToDoValidator(new ValidationRule(One, DTSTAMP, ORGANIZER, PRIORITY, SEQUENCE, SUMMARY, UID), new ValidationRule(OneOrLess, CATEGORIES, CLASS, CREATED, DESCRIPTION, DTSTART, DUE, DURATION, GEO, LAST_MODIFIED, LOCATION, PERCENT_COMPLETE, RESOURCES, STATUS, URL), - new ValidationRule(None, RECURRENCE_ID, REQUEST_STATUS)))); - methodValidators.put(Method.CANCEL, new VToDoValidator(Arrays.asList( - new ValidationRule(One, UID, DTSTAMP, ORGANIZER, SEQUENCE), + new ValidationRule(None, RECURRENCE_ID, REQUEST_STATUS))); + methodValidators.put(Method.CANCEL, new VToDoValidator(false, new ValidationRule(One, UID, DTSTAMP, ORGANIZER, SEQUENCE), new ValidationRule(OneOrLess, CATEGORIES, CLASS, CREATED, DESCRIPTION, DTSTART, DUE, DURATION, GEO, LAST_MODIFIED, LOCATION, PERCENT_COMPLETE, RECURRENCE_ID, RESOURCES, PRIORITY, STATUS, URL), - new ValidationRule(None, REQUEST_STATUS)), false)); - methodValidators.put(Method.COUNTER, new VToDoValidator(Arrays.asList( - new ValidationRule(OneOrMore, ATTENDEE), + new ValidationRule(None, REQUEST_STATUS))); + methodValidators.put(Method.COUNTER, new VToDoValidator(new ValidationRule(OneOrMore, ATTENDEE), new ValidationRule(One, DTSTAMP, ORGANIZER, PRIORITY, SUMMARY, UID), new ValidationRule(OneOrLess, CATEGORIES, CLASS, CREATED, DESCRIPTION, DTSTART, DUE, DURATION, GEO, LAST_MODIFIED, LOCATION, PERCENT_COMPLETE, RECURRENCE_ID, RESOURCES, RRULE, SEQUENCE, STATUS, - URL)))); - methodValidators.put(Method.DECLINE_COUNTER, new VToDoValidator(Arrays.asList( - new ValidationRule(OneOrMore, ATTENDEE), + URL))); + methodValidators.put(Method.DECLINE_COUNTER, new VToDoValidator(false, new ValidationRule(OneOrMore, ATTENDEE), new ValidationRule(One, DTSTAMP, ORGANIZER, SEQUENCE, UID), new ValidationRule(OneOrLess, CATEGORIES, CLASS, CREATED, DESCRIPTION, DTSTART, DUE, DURATION, GEO, LAST_MODIFIED, LOCATION, LOCATION, PERCENT_COMPLETE, PRIORITY, RECURRENCE_ID, RESOURCES, STATUS, - URL)), false)); - methodValidators.put(Method.PUBLISH, new VToDoValidator(Arrays.asList( - new ValidationRule(One, DTSTAMP, SUMMARY, UID), + URL))); + methodValidators.put(Method.PUBLISH, new VToDoValidator(new ValidationRule(One, DTSTAMP, SUMMARY, UID), new ValidationRule(One, true, ORGANIZER, PRIORITY), new ValidationRule(OneOrLess, DTSTART, SEQUENCE, CATEGORIES, CLASS, CREATED, DESCRIPTION, DUE, DURATION, GEO, LAST_MODIFIED, LOCATION, PERCENT_COMPLETE, RECURRENCE_ID, RESOURCES, STATUS, URL), - new ValidationRule(None, ATTENDEE, REQUEST_STATUS)))); - methodValidators.put(Method.REFRESH, new VToDoValidator(Arrays.asList( - new ValidationRule(One, ATTENDEE, DTSTAMP, UID), + new ValidationRule(None, ATTENDEE, REQUEST_STATUS))); + methodValidators.put(Method.REFRESH, new VToDoValidator(false, new ValidationRule(One, ATTENDEE, DTSTAMP, UID), new ValidationRule(OneOrLess, RECURRENCE_ID), new ValidationRule(None, ATTACH, CATEGORIES, CLASS, CONTACT, CREATED, DESCRIPTION, DTSTART, DUE, DURATION, EXDATE, EXRULE, GEO, LAST_MODIFIED, LOCATION, ORGANIZER, PERCENT_COMPLETE, PRIORITY, - RDATE, RELATED_TO, REQUEST_STATUS, RESOURCES, RRULE, SEQUENCE, STATUS, URL)), false)); - methodValidators.put(Method.REPLY, new VToDoValidator(Arrays.asList( - new ValidationRule(OneOrMore, ATTENDEE), + RDATE, RELATED_TO, REQUEST_STATUS, RESOURCES, RRULE, SEQUENCE, STATUS, URL))); + methodValidators.put(Method.REPLY, new VToDoValidator(false, new ValidationRule(OneOrMore, ATTENDEE), new ValidationRule(One, DTSTAMP, ORGANIZER, UID), new ValidationRule(OneOrLess, CATEGORIES, CLASS, CREATED, DESCRIPTION, DTSTART, DUE, DURATION, GEO, LAST_MODIFIED, LOCATION, PERCENT_COMPLETE, PRIORITY, RESOURCES, RECURRENCE_ID, SEQUENCE, STATUS, - SUMMARY, URL)), false)); - methodValidators.put(Method.REQUEST, new VToDoValidator(Arrays.asList( - new ValidationRule(OneOrMore, ATTENDEE), + SUMMARY, URL))); + methodValidators.put(Method.REQUEST, new VToDoValidator(new ValidationRule(OneOrMore, ATTENDEE), new ValidationRule(One, DTSTAMP, DTSTART, ORGANIZER, PRIORITY, SUMMARY, UID), new ValidationRule(OneOrLess, SEQUENCE, CATEGORIES, CLASS, CREATED, DESCRIPTION, DUE, DURATION, GEO, LAST_MODIFIED, LOCATION, PERCENT_COMPLETE, RECURRENCE_ID, RESOURCES, STATUS, URL), - new ValidationRule(None, REQUEST_STATUS)))); + new ValidationRule(None, REQUEST_STATUS))); } private ComponentList alarms = new ComponentList<>(); diff --git a/src/main/java/net/fortuna/ical4j/validate/CalendarValidatorImpl.java b/src/main/java/net/fortuna/ical4j/validate/CalendarValidatorImpl.java index bc1f4fcd0..eaea18720 100644 --- a/src/main/java/net/fortuna/ical4j/validate/CalendarValidatorImpl.java +++ b/src/main/java/net/fortuna/ical4j/validate/CalendarValidatorImpl.java @@ -8,6 +8,7 @@ import net.fortuna.ical4j.util.CompatibilityHints; import java.util.ArrayList; +import java.util.Arrays; import java.util.Collections; import java.util.List; @@ -20,8 +21,8 @@ public class CalendarValidatorImpl implements Validator { private final List rules; - public CalendarValidatorImpl(List rules) { - this.rules = rules; + public CalendarValidatorImpl(ValidationRule... rules) { + this.rules = Arrays.asList(rules); Collections.addAll(calendarProperties, CalScale.class, Method.class, ProdId.class, Version.class, Uid.class, LastModified.class, Url.class, RefreshInterval.class, Source.class, Color.class, diff --git a/src/main/java/net/fortuna/ical4j/validate/ComponentValidator.java b/src/main/java/net/fortuna/ical4j/validate/ComponentValidator.java index 88e6c1afa..3c33164eb 100644 --- a/src/main/java/net/fortuna/ical4j/validate/ComponentValidator.java +++ b/src/main/java/net/fortuna/ical4j/validate/ComponentValidator.java @@ -35,6 +35,7 @@ import net.fortuna.ical4j.model.ComponentList; import net.fortuna.ical4j.util.CompatibilityHints; +import java.util.Arrays; import java.util.List; import static net.fortuna.ical4j.validate.Validator.assertFalse; @@ -51,8 +52,8 @@ public class ComponentValidator implements Validator { private final List rules; - public ComponentValidator(List rules) { - this.rules = rules; + public ComponentValidator(ValidationRule... rules) { + this.rules = Arrays.asList(rules); } @Override diff --git a/src/main/java/net/fortuna/ical4j/validate/DefaultCalendarValidatorFactory.java b/src/main/java/net/fortuna/ical4j/validate/DefaultCalendarValidatorFactory.java index 55a2cc242..f4715c007 100644 --- a/src/main/java/net/fortuna/ical4j/validate/DefaultCalendarValidatorFactory.java +++ b/src/main/java/net/fortuna/ical4j/validate/DefaultCalendarValidatorFactory.java @@ -2,8 +2,6 @@ import net.fortuna.ical4j.model.Calendar; -import java.util.Arrays; - import static net.fortuna.ical4j.model.Property.*; import static net.fortuna.ical4j.validate.ValidationRule.ValidationType.One; import static net.fortuna.ical4j.validate.ValidationRule.ValidationType.OneOrLess; @@ -14,8 +12,7 @@ public class DefaultCalendarValidatorFactory implements CalendarValidatorFactory { @Override public Validator newInstance() { - return new CalendarValidatorImpl(Arrays.asList( - new ValidationRule(One, PRODID, VERSION), - new ValidationRule(OneOrLess, CALSCALE, METHOD))); + return new CalendarValidatorImpl(new ValidationRule(One, PRODID, VERSION), + new ValidationRule(OneOrLess, CALSCALE, METHOD)); } } diff --git a/src/main/java/net/fortuna/ical4j/validate/component/VEventValidator.java b/src/main/java/net/fortuna/ical4j/validate/component/VEventValidator.java index 8d1f5754e..8ec76acde 100644 --- a/src/main/java/net/fortuna/ical4j/validate/component/VEventValidator.java +++ b/src/main/java/net/fortuna/ical4j/validate/component/VEventValidator.java @@ -7,9 +7,6 @@ import net.fortuna.ical4j.validate.ValidationRule; import net.fortuna.ical4j.validate.Validator; -import java.util.Arrays; -import java.util.List; - import static net.fortuna.ical4j.model.Component.VALARM; import static net.fortuna.ical4j.model.Property.*; import static net.fortuna.ical4j.validate.ValidationRule.ValidationType.One; @@ -17,17 +14,16 @@ public class VEventValidator extends ComponentValidator { - private final Validator itipValidator = new ComponentValidator<>(Arrays.asList( - new ValidationRule(One, ACTION, TRIGGER), - new ValidationRule(OneOrLess, DESCRIPTION, DURATION, REPEAT, SUMMARY))); + private final Validator itipValidator = new ComponentValidator<>(new ValidationRule(One, ACTION, TRIGGER), + new ValidationRule(OneOrLess, DESCRIPTION, DURATION, REPEAT, SUMMARY)); private final boolean alarmsAllowed; - public VEventValidator(List rules) { - this(rules, true); + public VEventValidator(ValidationRule... rules) { + this(true, rules); } - public VEventValidator(List rules, boolean alarmsAllowed) { + public VEventValidator(boolean alarmsAllowed, ValidationRule... rules) { super(rules); this.alarmsAllowed = alarmsAllowed; } diff --git a/src/main/java/net/fortuna/ical4j/validate/component/VTimeZoneValidator.java b/src/main/java/net/fortuna/ical4j/validate/component/VTimeZoneValidator.java index b3e245628..280c1f060 100644 --- a/src/main/java/net/fortuna/ical4j/validate/component/VTimeZoneValidator.java +++ b/src/main/java/net/fortuna/ical4j/validate/component/VTimeZoneValidator.java @@ -6,20 +6,16 @@ import net.fortuna.ical4j.validate.ValidationRule; import net.fortuna.ical4j.validate.Validator; -import java.util.Arrays; -import java.util.List; - import static net.fortuna.ical4j.model.Property.*; import static net.fortuna.ical4j.validate.ValidationRule.ValidationType.One; import static net.fortuna.ical4j.validate.ValidationRule.ValidationType.OneOrLess; public class VTimeZoneValidator extends ComponentValidator { - private final Validator itipValidator = new ComponentValidator(Arrays.asList( - new ValidationRule(One, DTSTART, TZOFFSETFROM, TZOFFSETTO), - new ValidationRule(OneOrLess, TZNAME))); + private final Validator itipValidator = new ComponentValidator(new ValidationRule(One, DTSTART, TZOFFSETFROM, TZOFFSETTO), + new ValidationRule(OneOrLess, TZNAME)); - public VTimeZoneValidator(List rules) { + public VTimeZoneValidator(ValidationRule... rules) { super(rules); } diff --git a/src/main/java/net/fortuna/ical4j/validate/component/VToDoValidator.java b/src/main/java/net/fortuna/ical4j/validate/component/VToDoValidator.java index 425bfff8a..b311b3492 100644 --- a/src/main/java/net/fortuna/ical4j/validate/component/VToDoValidator.java +++ b/src/main/java/net/fortuna/ical4j/validate/component/VToDoValidator.java @@ -7,9 +7,6 @@ import net.fortuna.ical4j.validate.ValidationRule; import net.fortuna.ical4j.validate.Validator; -import java.util.Arrays; -import java.util.List; - import static net.fortuna.ical4j.model.Component.VALARM; import static net.fortuna.ical4j.model.Property.*; import static net.fortuna.ical4j.validate.ValidationRule.ValidationType.One; @@ -17,17 +14,16 @@ public class VToDoValidator extends ComponentValidator { - private final Validator itipValidator = new ComponentValidator<>(Arrays.asList( - new ValidationRule(One, ACTION, TRIGGER), - new ValidationRule(OneOrLess, DESCRIPTION, DURATION, REPEAT, SUMMARY))); + private final Validator itipValidator = new ComponentValidator<>(new ValidationRule(One, ACTION, TRIGGER), + new ValidationRule(OneOrLess, DESCRIPTION, DURATION, REPEAT, SUMMARY)); private final boolean alarmsAllowed; - public VToDoValidator(List rules) { - this(rules, true); + public VToDoValidator(ValidationRule... rules) { + this(true, rules); } - public VToDoValidator(List rules, boolean alarmsAllowed) { + public VToDoValidator(boolean alarmsAllowed, ValidationRule... rules) { super(rules); this.alarmsAllowed = alarmsAllowed; }