
net.fortuna.ical4j.extensions.strategy.event.VEventPropertyModifiers Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of ical4j-extensions Show documentation
Show all versions of ical4j-extensions Show documentation
Support for additional non-standard iCalendar objects
The newest version!
package net.fortuna.ical4j.extensions.strategy.event;
import net.fortuna.ical4j.model.ParameterList;
import net.fortuna.ical4j.model.component.Participant;
import net.fortuna.ical4j.model.component.VEvent;
import net.fortuna.ical4j.model.parameter.*;
import net.fortuna.ical4j.model.property.Attendee;
import net.fortuna.ical4j.model.property.Organizer;
import net.fortuna.ical4j.vcard.Entity;
import net.fortuna.ical4j.vcard.PropertyName;
import net.fortuna.ical4j.vcard.property.CalAdrUri;
import net.fortuna.ical4j.vcard.property.Fn;
import java.util.Arrays;
import java.util.Collections;
import java.util.function.BiFunction;
public interface VEventPropertyModifiers {
ParameterList ATT_REQUIRED_PARAMS = new ParameterList(Arrays.asList(
CuType.INDIVIDUAL, Role.REQ_PARTICIPANT, PartStat.NEEDS_ACTION, Rsvp.TRUE));
ParameterList ATT_OPTIONAL_PARAMS = new ParameterList(Arrays.asList(
CuType.INDIVIDUAL, Role.OPT_PARTICIPANT, PartStat.NEEDS_ACTION));
ParameterList ATT_CHAIR_PARAMS = new ParameterList(Arrays.asList(
CuType.INDIVIDUAL, Role.CHAIR));
BiFunction ORGANIZER = (c, p) -> {
if (p != null) {
CalAdrUri uri = p.getRequiredProperty(PropertyName.CALADRURI);
Fn name = p.getRequiredProperty(PropertyName.FN);
c.add(new Organizer(new ParameterList(Collections.singletonList(new Cn(name.getValue()))),
uri.getUri()));
}
return c;
};
BiFunction REQUIRED_ATTENDEE = (c, p) -> {
if (p != null) {
c.add(new Attendee(ATT_REQUIRED_PARAMS, p));
c.add(p);
}
return c;
};
BiFunction OPTIONAL_ATTENDEE = (c, p) -> {
if (p != null) {
c.add(new Attendee(ATT_OPTIONAL_PARAMS, p));
c.add(p);
}
return c;
};
BiFunction CHAIR = (c, p) -> {
if (p != null) {
c.replace(new Attendee(ATT_CHAIR_PARAMS, p));
c.add(p);
}
return c;
};
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy