private void _writeContents(Range<?> value, JsonGenerator g, SerializerProvider provider) throws IOException { if (value.hasLowerBound()) { if (_endpointSerializer != null) { g.writeFieldName("lowerEndpoint"); _endpointSerializer.serialize(value.lowerEndpoint(), g, provider); } else { provider.defaultSerializeField("lowerEndpoint", value.lowerEndpoint(), g); } // 20-Mar-2016, tatu: Should not use default handling since it leads to // [datatypes-collections#12] with default typing g.writeStringField("lowerBoundType", value.lowerBoundType().name()); } if (value.hasUpperBound()) { if (_endpointSerializer != null) { g.writeFieldName("upperEndpoint"); _endpointSerializer.serialize(value.upperEndpoint(), g, provider); } else { provider.defaultSerializeField("upperEndpoint", value.upperEndpoint(), g); } // same as above; should always be just String so g.writeStringField("upperBoundType", value.upperBoundType().name()); } }
public class Zoo { @JacksonXmlElementWrapper(useWrapping = false) @JsonSerialize(using=AnimalListSerializer.class) private List<Animal> animals; // getters and setters } public class AnimalListSerializer extends JsonSerializer<List<Animal>> { @Override public void serialize(List<Animal> value, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonProcessingException { for (Animal me : value) { provider.defaultSerializeField(me.getClass().getName(), me, jgen); } } }
public class MySerializer extends JsonSerializer<TryToSerialize> { @Override public void serialize(TryToSerialize toSerialize, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonProcessingException { jgen.writeStartObject(); jgen.writeNumberField("number", toSerialize.getNumber()); jgen.writeStringField("word", toSerialize.getWord()); provider.defaultSerializeField("values", toSerialize.iterator(), jgen); jgen.writeEndObject(); } }
/** * {@inheritDoc} * <p/> * The {@link RaftMember#getAddress()} call to {@code raftMember} * <strong>must</strong> return an instance of {@link InetSocketAddress}. * All other address forms are <strong>unsupported</strong>. */ @SuppressWarnings("DuplicateThrows") @Override public void serialize(RaftMember raftMember, JsonGenerator generator, SerializerProvider provider) throws IOException, JsonProcessingException { generator.writeStartObject(); // id provider.defaultSerializeField(MEMBER_ID_FIELD, raftMember.getId(), generator); // address (we only support InetSocketAddress) InetSocketAddress listenAddress = (InetSocketAddress) raftMember.getAddress(); provider.defaultSerializeField(MEMBER_ENDPOINT_FIELD, String.format("%s:%d", listenAddress.getHostName(), listenAddress.getPort()), generator); generator.writeEndObject(); } }
@SuppressWarnings("DuplicateThrows") @Override public void serialize(LogEntry logEntry, JsonGenerator generator, SerializerProvider provider) throws IOException, JsonProcessingException { generator.writeStartObject(); LogEntry.Type type = logEntry.getType(); provider.defaultSerializeField(LOG_ENTRY_TYPE_FIELD, logEntry.getType().name(), generator); provider.defaultSerializeField(LOG_ENTRY_INDEX_FIELD, logEntry.getIndex(), generator); provider.defaultSerializeField(LOG_ENTRY_TERM_FIELD, logEntry.getTerm(), generator); switch (type) { case CLIENT: Command command = ((LogEntry.ClientEntry) logEntry).getCommand(); provider.defaultSerializeField(CLIENT_ENTRY_COMMAND_FIELD, command, generator); // TODO (AG): interesting...is this correct? break; default: // nothing break; } generator.writeEndObject(); } }
@Override public void serialize(SensorVariable sensorVariable, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonProcessingException { if (sensorVariable != null) { ResourceModel resourceModel = new ResourceModel(RESOURCE_TYPE.SENSOR_VARIABLE, sensorVariable.getId()); jgen.writeStartObject(); provider.defaultSerializeField("id", sensorVariable.getId(), jgen); provider.defaultSerializeField("name", resourceModel.getResourceLessDetails(), jgen); provider.defaultSerializeField("type", sensorVariable.getVariableType().getText(), jgen); jgen.writeEndObject(); } else { jgen.writeNull(); } }
@Override public void serialize(SensorVariable sensorVariable, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonProcessingException { if (sensorVariable != null) { ResourceModel resourceModel = new ResourceModel(RESOURCE_TYPE.SENSOR_VARIABLE, sensorVariable.getId()); jgen.writeStartObject(); provider.defaultSerializeField("id", sensorVariable.getId(), jgen); provider.defaultSerializeField("name", resourceModel.getResourceLessDetails(), jgen); provider.defaultSerializeField("type", sensorVariable.getVariableType().getText(), jgen); jgen.writeEndObject(); } else { jgen.writeNull(); } }
public void serialize(List<FieldMetadata> fields, JsonGenerator gen, SerializerProvider serializers) throws IOException, JsonProcessingException { gen.writeObjectFieldStart(FIELDS_PROP); for(FieldMetadata field : fields) { String fieldName = field.getFullPath(); MetaType metaType = field.getMetaType(); Validate.notNull(metaType, "No type for field %s", fieldName); FieldMetadata diff = defaultMetaProvider.getDiff(field); serializers.defaultSerializeField(fieldName, diff, gen); } gen.writeEndObject(); }
@Override public void serialize(T value, JsonGenerator gen, SerializerProvider serializers) throws IOException { gen.writeStartObject(); serializers.defaultSerializeField("hash", value.getHash(), gen); gen.writeObjectFieldStart("children"); for (T child : value.getChildren()) { gen.writeFieldName(segmentToString(child.getPath().getSegment())); serialize(child, gen, serializers); } //children gen.writeEndObject(); //whole object gen.writeEndObject(); }
@Override public void serialize(IndexTypeMetadata value, JsonGenerator gen, SerializerProvider serializers) throws IOException, JsonProcessingException { gen.writeStartObject(); gen.writeStringField(INDEX_PROP, value.getIndexName()); gen.writeStringField(TYPE_PROP, value.getTypeName()); gen.writeObjectFieldStart(FIELDS_PROP); for(FieldMetadata field : value.getFields()) { String fieldName = field.getFullPath(); MetaType metaType = field.getMetaType(); Validate.notNull(metaType, "No type for field %s", fieldName); FieldMetadata diff = defaultMetaProvider.getDiff(field); serializers.defaultSerializeField(fieldName, diff, gen); } gen.writeEndObject(); gen.writeEndObject(); } }
private void _writeContents(Range<?> value, JsonGenerator jgen, SerializerProvider provider) throws IOException { if (value.hasLowerBound()) { if (_endpointSerializer != null) { jgen.writeFieldName("lowerEndpoint"); _endpointSerializer.serialize(value.lowerEndpoint(), jgen, provider); } else { provider.defaultSerializeField("lowerEndpoint", value.lowerEndpoint(), jgen); } provider.defaultSerializeField("lowerBoundType", value.lowerBoundType(), jgen); } if (value.hasUpperBound()) { if (_endpointSerializer != null) { jgen.writeFieldName("upperEndpoint"); _endpointSerializer.serialize(value.upperEndpoint(), jgen, provider); } else { provider.defaultSerializeField("upperEndpoint", value.upperEndpoint(), jgen); } provider.defaultSerializeField("upperBoundType", value.upperBoundType(), jgen); } } }
provider.defaultSerializeField( DECLARING_REF, value.getDeclaring(), gen ); provider.defaultSerializeField( TARGET_REF, value.getTarget(), gen ); provider.defaultSerializeField( PLUGIN_REF, ( (PluginDependencyRelationship) value ).getPlugin(), gen ); gen.writeBooleanField( MANAGED, value.isManaged() );
provider.defaultSerializeField( DECLARING_REF, value.getDeclaring(), gen ); provider.defaultSerializeField( TARGET_REF, value.getTarget(), gen ); provider.defaultSerializeField( PLUGIN_REF, ( (PluginDependencyRelationship) value ).getPlugin(), gen ); gen.writeBooleanField( MANAGED, value.isManaged() );