@SuppressWarnings("unchecked") private static <T> JsonSerializer<T> createSerializer(SerializerProvider provider, Class<?> type) throws JsonMappingException { JavaType javaType = provider.constructType(type); return (JsonSerializer<T>) BeanSerializerFactory.instance.createSerializer(provider, javaType); } }
/** * @since 2.9 */ public <T> T reportBadDefinition(Class<?> raw, String msg, Throwable cause) throws JsonMappingException { InvalidDefinitionException e = InvalidDefinitionException.from(getGenerator(), msg, constructType(raw)); e.initCause(cause); throw e; }
@Override public JsonNode getSchema(SerializerProvider provider, Type typeHint) { if (_serializeAsIndex(provider)) { return createSchemaNode("integer", true); } ObjectNode objectNode = createSchemaNode("string", true); if (typeHint != null) { JavaType type = provider.constructType(typeHint); if (type.isEnumType()) { ArrayNode enumNode = objectNode.putArray("enum"); for (SerializableString value : _values.values()) { enumNode.add(value.getValue()); } } } return objectNode; }
JavaType type = prov.constructType(implClass);
return new CollectionSerializer(serializers.constructType(String.class), true, /*TypeSerializer*/ null, (JsonSerializer<Object>) ser);
ObjectIdGenerator<?> gen; Class<?> implClass = objectIdInfo.getGeneratorType(); JavaType type = provider.constructType(implClass); JavaType idType = provider.getTypeFactory().findTypeParameters(type, ObjectIdGenerator.class)[0];
@Override public void acceptJsonFormatVisitor(JsonFormatVisitorWrapper visitor, JavaType typeHint) throws JsonMappingException { if (visitor != null) { JsonObjectFormatVisitor objectVisitor = visitor.expectObjectFormat(typeHint); if (objectVisitor != null) { if (_endpointSerializer != null) { JavaType endpointType = _rangeType.containedType(0); JavaType btType = visitor.getProvider().constructType(BoundType.class); JsonSerializer<?> btSer = visitor.getProvider() .findValueSerializer(btType, null); objectVisitor.property("lowerEndpoint", _endpointSerializer, endpointType); objectVisitor.property("lowerBoundType", btSer, btType); objectVisitor.property("upperEndpoint", _endpointSerializer, endpointType); objectVisitor.property("upperBoundType", btSer, btType); } } } } }
@SuppressWarnings("unchecked") private static <T> JsonSerializer<T> createSerializer(SerializerProvider provider, Class<?> type) throws JsonMappingException { JavaType javaType = provider.constructType(type); return (JsonSerializer<T>) BeanSerializerFactory.instance.createSerializer(provider, javaType); } }
@SuppressWarnings("unchecked") private static <T> JsonSerializer<T> createSerializer(SerializerProvider provider, Class<?> type) throws JsonMappingException { JavaType javaType = provider.constructType(type); return (JsonSerializer<T>) BeanSerializerFactory.instance.createSerializer(provider, javaType); } }
@SuppressWarnings("unchecked") private static <T> JsonSerializer<T> createSerializer(SerializerProvider provider, Class<?> type) throws JsonMappingException { JavaType javaType = provider.constructType(type); return (JsonSerializer<T>) BeanSerializerFactory.instance.createSerializer(provider, javaType); } }
public class ResponseSerializer extends JsonSerializer<Response> { @Override public void serialize(Response value, JsonGenerator gen, SerializerProvider serializers) throws IOException, JsonProcessingException { Class<?> responseClass = value.getObject().getClass(); JavaType responseJavaType = serializers.constructType(responseClass); gen.writeStartObject(); gen.writeFieldName(serializers.findTypeSerializer(responseJavaType).getTypeIdResolver().idFromValue(value.getObject())); serializers.findValueSerializer(responseClass).serialize(value.getObject(), gen, serializers); /* Here you must manually serialize other properties */ /* Like gen.writeStringField("property", value.getProperty()); */ gen.writeEndObject(); } }
private void writeEntries(Multimap<?, ?> value, JsonGenerator jgen, SerializerProvider provider) throws IOException { for (Map.Entry<?, ? extends Collection<?>> entry : value.asMap().entrySet()) { provider.findKeySerializer(provider.constructType(Object.class), null) .serialize(entry.getKey(), jgen, provider); provider.defaultSerializeValue(Lists.newArrayList(entry.getValue()), jgen); } } }
private void serializeOne(EObject object, JsonGenerator jg, SerializerProvider provider) throws IOException { final JavaType type = provider.constructType(object.getClass()); final JsonSerializer<Object> serializer = provider.findValueSerializer(type); if (serializer != null) { serializer.serialize(object, jg, provider); } }
private void serializeOne(EObject object, JsonGenerator jg, SerializerProvider provider) throws IOException { final JavaType type = provider.constructType(object.getClass()); final JsonSerializer<Object> serializer = provider.findValueSerializer(type); if (serializer != null) { serializer.serialize(object, jg, provider); } }
@Override public void serialize(CommentOptionsExtension commentOptionsExtension, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException { if (!(commentOptionsExtension instanceof CommentPayoutBeneficiaries)) { throw new IllegalArgumentException( "Unknown extension type class '" + commentOptionsExtension.getClass().getSimpleName() + "'."); } jsonGenerator.writeStartArray(); jsonGenerator.writeNumber(CommentOptionsExtensionsType.COMMENT_PAYOUT_BENEFICIARIES.ordinal()); JavaType javaType = serializerProvider.constructType(CommentPayoutBeneficiaries.class); BeanDescription beanDesc = serializerProvider.getConfig().introspect(javaType); JsonSerializer<Object> serializer = BeanSerializerFactory.instance.findBeanSerializer(serializerProvider, javaType, beanDesc); serializer.serialize((CommentPayoutBeneficiaries) commentOptionsExtension, jsonGenerator, serializerProvider); jsonGenerator.writeEndArray(); } }
@Override public void serialize(CommentOptionsExtension commentOptionsExtension, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException { if (!(commentOptionsExtension instanceof CommentPayoutBeneficiaries)) { throw new IllegalArgumentException( "Unknown extension type class '" + commentOptionsExtension.getClass().getSimpleName() + "'."); } jsonGenerator.writeStartArray(); jsonGenerator.writeNumber(CommentOptionsExtensionsType.COMMENT_PAYOUT_BENEFICIARIES.ordinal()); JavaType javaType = serializerProvider.constructType(CommentPayoutBeneficiaries.class); BeanDescription beanDesc = serializerProvider.getConfig().introspect(javaType); JsonSerializer<Object> serializer = BeanSerializerFactory.instance.findBeanSerializer(serializerProvider, javaType, beanDesc); serializer.serialize((CommentPayoutBeneficiaries) commentOptionsExtension, jsonGenerator, serializerProvider); jsonGenerator.writeEndArray(); } }
/** * @since 2.9 */ public <T> T reportBadDefinition(Class<?> raw, String msg, Throwable cause) throws JsonMappingException { InvalidDefinitionException e = InvalidDefinitionException.from(getGenerator(), msg, constructType(raw)); e.initCause(cause); throw e; }
@Override public void serialize(IBaseDataObject ibdo, JsonGenerator jgen, SerializerProvider provider) throws IOException { jgen.writeStartObject(); JavaType javaType = provider.constructType(IBaseDataObject.class); BeanDescription beanDesc = provider.getConfig().introspect(javaType); JsonSerializer<Object> serializer = BeanSerializerFactory.instance.findBeanSerializer(provider, javaType, beanDesc); // add some custom fields here jgen.writeObjectField("id", dropOffUtil.getBestIdFrom(ibdo)); jgen.writeObjectField("processedTimestamp", TimeUtil.getCurrentDateFullISO8601()); serializer.unwrappingSerializer(null).serialize(ibdo, jgen, provider); jgen.writeEndObject(); } }
@Override public void acceptJsonFormatVisitor(final JsonFormatVisitorWrapper wrapper, final JavaType hint) throws JsonMappingException { final JsonObjectFormatVisitor visitor = wrapper.expectObjectFormat(hint); visitor.property(names.getAmount(), wrapper.getProvider().findValueSerializer(writer.getType()), wrapper.getProvider().constructType(writer.getType())); visitor.property(names.getCurrency(), wrapper.getProvider().findValueSerializer(CurrencyUnit.class), wrapper.getProvider().constructType(CurrencyUnit.class)); visitor.optionalProperty(names.getFormatted(), wrapper.getProvider().findValueSerializer(String.class), wrapper.getProvider().constructType(String.class)); }
@Override public void acceptJsonFormatVisitor(final JsonFormatVisitorWrapper wrapper, final JavaType hint) throws JsonMappingException { final JsonObjectFormatVisitor visitor = wrapper.expectObjectFormat(hint); visitor.property(names.getAmount(), wrapper.getProvider().findValueSerializer(writer.getType()), wrapper.getProvider().constructType(writer.getType())); visitor.property(names.getCurrency(), wrapper.getProvider().findValueSerializer(CurrencyUnit.class), wrapper.getProvider().constructType(CurrencyUnit.class)); visitor.optionalProperty(names.getFormatted(), wrapper.getProvider().findValueSerializer(String.class), wrapper.getProvider().constructType(String.class)); }