@Override public final void serialize(JsonGenerator gen, SerializerProvider ctxt) throws IOException { if (_value == null) { ctxt.defaultSerializeNull(gen); } else if (_value instanceof JsonSerializable) { ((JsonSerializable) _value).serialize(gen, ctxt); } else { // 25-May-2018, tatu: [databind#1991] do not call via generator but through context; // this to preserve contextual information ctxt.defaultSerializeValue(_value, gen); } }
@Override public void serialize( ApiResponses value, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonProcessingException { if (value != null && value.getExtensions() != null && !value.getExtensions().isEmpty()) { jgen.writeStartObject(); if (!value.isEmpty()) { for (String key: value.keySet()) { jgen.writeObjectField(key , value.get(key)); } } for (String ext: value.getExtensions().keySet()) { jgen.writeObjectField(ext , value.getExtensions().get(ext)); } jgen.writeEndObject(); } else { provider.defaultSerializeValue(value, jgen); } } }
@Override public void serialize( Paths value, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonProcessingException { if (value != null && value.getExtensions() != null && !value.getExtensions().isEmpty()) { jgen.writeStartObject(); if (!value.isEmpty()) { for (String key: value.keySet()) { jgen.writeObjectField(key , value.get(key)); } } for (String ext: value.getExtensions().keySet()) { jgen.writeObjectField(ext , value.getExtensions().get(ext)); } jgen.writeEndObject(); } else { provider.defaultSerializeValue(value, jgen); } } }
} else { if (StringUtils.isBlank(value.get$ref())) { provider.defaultSerializeValue(value, jgen); } else { // handle ref schema serialization skipping all other props jgen.writeStartObject();
provider.defaultSerializeValue(blob.getBinaryStream(), jgen); blob.free(); break; provider.defaultSerializeValue(clob.getCharacterStream(), jgen); clob.free(); break; provider.defaultSerializeValue(rs.getObject(i + 1), jgen); break;
@Override public void serialize(Object value, JsonGenerator gen, SerializerProvider provider) throws IOException { if (value instanceof Collection) { Collection<?> source = (Collection<?>) value; List<Object> resources = new ArrayList<Object>(); for (Object element : source) { resources.add(toResource(element)); } provider.defaultSerializeValue(resources, gen); } else if (value instanceof Map) { Map<?, ?> source = (Map<?, ?>) value; Map<Object, Object> resources = CollectionFactory.createApproximateMap(value.getClass(), source.size()); for (Entry<?, ?> entry : source.entrySet()) { resources.put(entry.getKey(), toResource(entry.getValue())); } provider.defaultSerializeValue(resources, gen); } else { provider.defaultSerializeValue(toResource(value), gen); } }
@Override public void serialize(final PersistentEntityResource resource, final JsonGenerator jgen, final SerializerProvider provider) throws IOException, JsonGenerationException { LOG.debug("Serializing PersistentEntity {}.", resource.getPersistentEntity()); Object content = resource.getContent(); if (hasScalarSerializer(content, provider)) { provider.defaultSerializeValue(content, jgen); return; } Links links = getLinks(resource); if (TargetAware.class.isInstance(content)) { TargetAware targetAware = (TargetAware) content; provider.defaultSerializeValue(new ProjectionResource(targetAware, links), jgen); return; } Resource<Object> resourceToRender = new Resource<Object>(resource.getContent(), links) { @JsonUnwrapped public Iterable<?> getEmbedded() { return resource.getEmbeddeds(); } }; provider.defaultSerializeValue(resourceToRender, jgen); }
@Override public void serialize(Ref value, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonProcessingException { Object obj = value.getValue(); if (obj != null) { // writeObject() abandons the serialization context and breaks @JsonView //jgen.writeObject(obj); // Tatu says that this is better: provider.defaultSerializeValue(value.getValue(), jgen); } else { jgen.writeString(value.key().getString()); } } }
@Override public void serialize(Enum value, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonGenerationException { provider.defaultSerializeValue(value, jgen); }
@Override public void serialize(final Map<Long, ?> value, final JsonGenerator jgen, final SerializerProvider provider) throws IOException, JsonProcessingException { provider.defaultSerializeValue(value.values(), jgen); }
@Override public void serialize(AtomicReference<?> value, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonGenerationException { provider.defaultSerializeValue(value.get(), jgen); }
@Override public void serialize(T2 value, JsonGenerator gen, SerializerProvider serializers) throws IOException, JsonProcessingException { serializers.defaultSerializeValue(converter.revert(value), gen); } });
@Override public void serialize(Optional<?> value, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonGenerationException { if(value.isPresent()) { provider.defaultSerializeValue(value.get(), jgen); } else { provider.defaultSerializeNull(jgen); } } }
@Override public void serialize(MessageParams value, JsonGenerator jgen, SerializerProvider provider) throws IOException { provider.defaultSerializeValue(value.toMap(), jgen); } }
@Override public void serialize(final MapPath value, final JsonGenerator gen, final SerializerProvider provider) throws IOException { final Map<Object, Object> props = value.getProperties(); provider.defaultSerializeValue(props, gen); } }
@Override public void serializeWithType(WrappedBean<ConfiguredBean> value, JsonGenerator jgen, SerializerProvider provider, TypeSerializer typeSer) throws IOException, JsonProcessingException { provider.defaultSerializeValue(value.getWrapped(), jgen); }
@Override public void serialize(Configurable value, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonProcessingException { provider.defaultSerializeValue(value.getValue(), jgen); } }
@Override public void serialize(YearMonth value, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonProcessingException { Map<String, Integer> map = new LinkedHashMap<>(); map.put("year", value.getYear()); map.put("month", value.getMonthValue()); provider.defaultSerializeValue( map, jgen ); }
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); } } }
@Override public void serialize(final T value, final JsonGenerator gen, final SerializerProvider serializers) throws IOException, JsonProcessingException { final FilteringGeneratorDelegate filtering = new FilteringGeneratorDelegate(gen, excludeFilter, true, true); if (value == null || delegate == null) { serializers.defaultSerializeValue(value, filtering); } else { delegate.serialize(value, filtering, serializers); } } }