![JAR search and dependency download from the Maven repository](/logo.png)
org.mnode.ical4j.json.jot.ComponentBuilder Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of ical4j-json Show documentation
Show all versions of ical4j-json Show documentation
Custom marshalling between iCal4j objects and JSON formats
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