@Override
public void write(WidgetTypeDefinition entity, JsonGenerator jg) throws IOException {
jg.writeStartObject();
jg.writeStringField("name", entity.getName());
List<String> aliases = entity.getAliases();
if (CollectionUtils.isNotEmpty(aliases)) {
writeSerializableListField("aliases", aliases, jg);
}
jg.writeStringField("handlerClassName", entity.getHandlerClassName());
Map<String, String> properties = entity.getProperties();
if (MapUtils.isNotEmpty(properties)) {
writeSerializableMapField("properties", new TreeMap<>(properties), jg);
}
WidgetTypeConfiguration configuration = entity.getConfiguration();
if (configuration != null) {
writeEntityField("configuration", configuration, jg);
}
jg.writeEndObject();
}