All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.fortuna.ical4j.data.DefaultComponentFactorySupplier Maven / Gradle / Ivy

There is a newer version: 4.0.4
Show newest version
package net.fortuna.ical4j.data;

import net.fortuna.ical4j.model.Component;
import net.fortuna.ical4j.model.ComponentFactory;
import net.fortuna.ical4j.model.component.*;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.function.Supplier;

public class DefaultComponentFactorySupplier implements Supplier>> {

    @Override
    public List> get() {
        final List> rfc5545 =
                Arrays.asList(
                        new Daylight.Factory(),
                        new Standard.Factory(),
                        new VAlarm.Factory(),
                        new VEvent.Factory(),
                        new VFreeBusy.Factory(),
                        new VJournal.Factory(),
                        new VTimeZone.Factory(),
                        new VToDo.Factory());

        // Availability
        final List> rfc7953 =
                Arrays.asList(
                        new Available.Factory(),
                        new VAvailability.Factory());

        // Eventpub
        final List> rfc9073 =
                Arrays.asList(
                        new Participant.Factory(),
                        new VLocation.Factory(),
                        new VResource.Factory());

        final List> vvenueDraft =
                Collections.singletonList(new VVenue.Factory());

        final List> factories = new ArrayList<>(rfc5545);

        factories.addAll(rfc7953);
        factories.addAll(rfc9073);
        factories.addAll(vvenueDraft);

        return factories;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy