List of usage examples for com.fasterxml.jackson.databind ObjectMapper getSerializerFactory
public SerializerFactory getSerializerFactory()
From source file:net.logstash.logback.marker.ObjectFieldsAppendingMarker.java
/** * Gets a {@link SerializerProvider} configured with the {@link ObjectMapper}'s {@link SerializationConfig} * ({@link ObjectMapper#getSerializationConfig()}) to be used for serialization. * <p>// w w w . ja va 2s. c o m * Note that the {@link ObjectMapper}'s {@link SerializerProvider} ({@link ObjectMapper#getSerializerProvider()}) * cannot be used directly, because the {@link SerializerProvider}'s {@link SerializationConfig} ({@link SerializerProvider#getConfig()}) is null, * which causes NullPointerExceptions when it is used. */ private SerializerProvider getSerializerProvider(ObjectMapper mapper) { SerializerProvider provider = serializerProviders.get(mapper); if (provider == null) { SerializerProvider newProvider = ((DefaultSerializerProvider) mapper.getSerializerProvider()) .createInstance(mapper.getSerializationConfig(), mapper.getSerializerFactory()); SerializerProvider existingProvider = serializerProviders.putIfAbsent(mapper, newProvider); provider = (existingProvider == null) ? newProvider : existingProvider; } return provider; }
From source file:net.logstash.logback.marker.ObjectFieldsAppendingMarker.java
/** * Gets a serializer that will write the {@link #object} unwrapped. *//* w w w .ja v a2 s .c om*/ private JsonSerializer<Object> getBeanSerializer(ObjectMapper mapper) throws JsonMappingException { JsonSerializer<Object> jsonSerializer = beanSerializers.get(object.getClass()); if (jsonSerializer == null) { SerializerProvider serializerProvider = getSerializerProvider(mapper); JsonSerializer<Object> newSerializer = mapper.getSerializerFactory() .createSerializer(serializerProvider, mapper.getSerializationConfig().constructType(object.getClass())) .unwrappingSerializer(NameTransformer.NOP); if (newSerializer instanceof ResolvableSerializer) { ((ResolvableSerializer) newSerializer).resolve(serializerProvider); } JsonSerializer<Object> existingSerializer = beanSerializers.putIfAbsent(object.getClass(), newSerializer); jsonSerializer = (existingSerializer == null) ? newSerializer : existingSerializer; } return jsonSerializer; }