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

org.mnode.ical4j.json.jot.ComponentBuilder Maven / Gradle / Ivy

The newest version!
package org.mnode.ical4j.json.jot;

import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.node.ObjectNode;
import net.fortuna.ical4j.model.Component;
import net.fortuna.ical4j.model.Property;
import net.fortuna.ical4j.model.property.Organizer;

public class ComponentBuilder extends AbstractJotBuilder {

    @Override
    public JsonNode build() {
        ObjectNode node = createObjectNode();
//        putIfNotNull("uid", node, component.getProperty(Property.UID));
        component.getProperties().forEach(property -> {
            switch (property.getName()) {
                case Property.ORGANIZER:
                    node.set(property.getName().toLowerCase(), new OrganizerBuilder()
                            .component((Organizer) property).build());
                    break;
                case Property.LOCATION:
                case Property.RESOURCES:
                case Property.ATTACH:
                case Property.RELATED_TO:
                case Property.ATTENDEE:
                case Property.TRIGGER:
                case Property.COMMENT:
                case Property.CONTACT:
                case Property.FREEBUSY:
                default:
                    node.put(property.getName().toLowerCase(), property.getValue());
            }
        });
        return node;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy