public abstract class BasicSerializerFactory extends SerializerFactory implements Serializable
Collection).
Since all the serializers are eagerly instantiated, and there is no additional introspection or customizability of these types, this factory is essentially stateless.
| Modifier and Type | Field and Description | 
|---|---|
| protected static HashMap<String,JsonSerializer<?>> | _concreteSince these are all JDK classes, we shouldn't have to worry
 about ClassLoader used to load them. | 
| protected static HashMap<String,Class<? extends JsonSerializer<?>>> | _concreteLazyActually it may not make much sense to eagerly instantiate all
 kinds of serializers: so this Map actually contains class references,
 not instances | 
| protected SerializerFactoryConfig | _factoryConfigConfiguration settings for this factory; immutable instance (just like this
 factory), new version created via copy-constructor (fluent-style) | 
| Modifier | Constructor and Description | 
|---|---|
| protected  | BasicSerializerFactory(SerializerFactoryConfig config)We will provide default constructor to allow sub-classing,
 but make it protected so that no non-singleton instances of
 the class will be instantiated. | 
| Modifier and Type | Method and Description | 
|---|---|
| protected JsonSerializer<Object> | _findContentSerializer(SerializerProvider prov,
                      Annotated a)Helper method called to try to find whether there is an annotation in the
 class that indicates content ("value") serializer to use. | 
| protected JsonSerializer<Object> | _findKeySerializer(SerializerProvider prov,
                  Annotated a)Helper method called to try to find whether there is an annotation in the
 class that indicates key serializer to use. | 
| protected Class<?> | _verifyAsClass(Object src,
              String methodName,
              Class<?> noneClass) | 
| protected JsonSerializer<?> | buildArraySerializer(SerializerProvider prov,
                    ArrayType type,
                    BeanDescription beanDesc,
                    boolean staticTyping,
                    TypeSerializer elementTypeSerializer,
                    JsonSerializer<Object> elementValueSerializer)Helper method that handles configuration details when constructing serializers for
  Object[](and subtypes, except for String). | 
| ContainerSerializer<?> | buildCollectionSerializer(JavaType elemType,
                         boolean staticTyping,
                         TypeSerializer vts,
                         JsonSerializer<Object> valueSerializer) | 
| protected JsonSerializer<?> | buildCollectionSerializer(SerializerProvider prov,
                         CollectionType type,
                         BeanDescription beanDesc,
                         boolean staticTyping,
                         TypeSerializer elementTypeSerializer,
                         JsonSerializer<Object> elementValueSerializer)Helper method that handles configuration details when constructing serializers for
  Listtypes that support efficient by-index access | 
| protected JsonSerializer<?> | buildContainerSerializer(SerializerProvider prov,
                        JavaType type,
                        BeanDescription beanDesc,
                        boolean staticTyping) | 
| protected JsonSerializer<?> | buildEnumSerializer(SerializationConfig config,
                   JavaType type,
                   BeanDescription beanDesc) | 
| JsonSerializer<?> | buildEnumSetSerializer(JavaType enumType) | 
| ContainerSerializer<?> | buildIndexedListSerializer(JavaType elemType,
                          boolean staticTyping,
                          TypeSerializer vts,
                          JsonSerializer<Object> valueSerializer) | 
| protected JsonSerializer<?> | buildIterableSerializer(SerializationConfig config,
                       JavaType type,
                       BeanDescription beanDesc,
                       boolean staticTyping,
                       JavaType valueType) | 
| protected JsonSerializer<?> | buildIteratorSerializer(SerializationConfig config,
                       JavaType type,
                       BeanDescription beanDesc,
                       boolean staticTyping,
                       JavaType valueType) | 
| protected JsonSerializer<?> | buildMapEntrySerializer(SerializationConfig config,
                       JavaType type,
                       BeanDescription beanDesc,
                       boolean staticTyping,
                       JavaType keyType,
                       JavaType valueType) | 
| protected JsonSerializer<?> | buildMapSerializer(SerializerProvider prov,
                  MapType type,
                  BeanDescription beanDesc,
                  boolean staticTyping,
                  JsonSerializer<Object> keySerializer,
                  TypeSerializer elementTypeSerializer,
                  JsonSerializer<Object> elementValueSerializer)Helper method that handles configuration details when constructing serializers for
  Maptypes. | 
| JsonSerializer<Object> | createKeySerializer(SerializationConfig config,
                   JavaType keyType,
                   JsonSerializer<Object> defaultImpl)Method called to create serializer to use for serializing JSON property names (which must
 be output as  JsonToken.FIELD_NAME) for Map that has specified declared
 key type, and is for specified property (or, if property is null, as root value) | 
| abstract JsonSerializer<Object> | createSerializer(SerializerProvider prov,
                JavaType type)Method called to create (or, for immutable serializers, reuse) a serializer for given type. | 
| TypeSerializer | createTypeSerializer(SerializationConfig config,
                    JavaType baseType)Method called to construct a type serializer for values with given declared
 base type. | 
| protected abstract Iterable<Serializers> | customSerializers() | 
| protected Converter<Object,Object> | findConverter(SerializerProvider prov,
             Annotated a) | 
| protected JsonSerializer<?> | findConvertingSerializer(SerializerProvider prov,
                        Annotated a,
                        JsonSerializer<?> ser)Helper method that will check whether given annotated entity (usually class,
 but may also be a property accessor) indicates that a  Converteris to
 be used; and if so, to construct and return suitable serializer for it. | 
| protected Object | findFilterId(SerializationConfig config,
            BeanDescription beanDesc)Method called to find filter that is configured to be used with bean
 serializer being built, if any. | 
| protected JsonSerializer<?> | findOptionalStdSerializer(SerializerProvider prov,
                         JavaType type,
                         BeanDescription beanDesc,
                         boolean staticTyping)Overridable method called after checking all other types. | 
| protected JsonSerializer<?> | findSerializerByAddonType(SerializationConfig config,
                         JavaType javaType,
                         BeanDescription beanDesc,
                         boolean staticTyping)Reflection-based serialized find method, which checks if
 given class implements one of recognized "add-on" interfaces. | 
| protected JsonSerializer<?> | findSerializerByAnnotations(SerializerProvider prov,
                           JavaType type,
                           BeanDescription beanDesc)Method called to see if one of primary per-class annotations
 (or related, like implementing of  JsonSerializable)
 determines the serializer to use. | 
| protected JsonSerializer<?> | findSerializerByLookup(JavaType type,
                      SerializationConfig config,
                      BeanDescription beanDesc,
                      boolean staticTyping)Method that will use fast lookup (and identity comparison) methods to
 see if we know serializer to use for given type. | 
| protected JsonSerializer<?> | findSerializerByPrimaryType(SerializerProvider prov,
                           JavaType type,
                           BeanDescription beanDesc,
                           boolean staticTyping)Method for checking if we can determine serializer to use based on set of
 known primary types, checking for set of known base types (exact matches
 having been compared against with  findSerializerByLookup). | 
| protected JsonSerializer<Object> | findSerializerFromAnnotation(SerializerProvider prov,
                            Annotated a)Helper method called to check if a class or method
 has an annotation
 (@link com.fasterxml.jackson.databind.annotation.JsonSerialize#using)
 that tells the class to use for serialization. | 
| protected Object | findSuppressableContentValue(SerializationConfig config,
                            JavaType contentType,
                            BeanDescription beanDesc)
 NOTE: although return type is left opaque, it really needs to be
  JsonInclude.Includefor things to work as expected. | 
| SerializerFactoryConfig | getFactoryConfig()Method for getting current  SerializerFactoryConfig. | 
| protected boolean | isIndexedList(Class<?> cls) | 
| protected boolean | usesStaticTyping(SerializationConfig config,
                BeanDescription beanDesc,
                TypeSerializer typeSer)Helper method to check whether global settings and/or class
 annotations for the bean class indicate that static typing
 (declared types)  should be used for properties. | 
| SerializerFactory | withAdditionalKeySerializers(Serializers additional)Convenience method for creating a new factory instance with an additional
 key serializer provider. | 
| SerializerFactory | withAdditionalSerializers(Serializers additional)Convenience method for creating a new factory instance with an additional
 serializer provider. | 
| abstract SerializerFactory | withConfig(SerializerFactoryConfig config)Method used for creating a new instance of this factory, but with different
 configuration. | 
| SerializerFactory | withSerializerModifier(BeanSerializerModifier modifier)Convenience method for creating a new factory instance with additional bean
 serializer modifier. | 
protected static final HashMap<String,JsonSerializer<?>> _concrete
protected static final HashMap<String,Class<? extends JsonSerializer<?>>> _concreteLazy
protected final SerializerFactoryConfig _factoryConfig
protected BasicSerializerFactory(SerializerFactoryConfig config)
public SerializerFactoryConfig getFactoryConfig()
SerializerFactoryConfig.
Note that since instances are immutable, you can NOT change settings by accessing an instance and calling methods: this will simply create new instance of config object.
public abstract SerializerFactory withConfig(SerializerFactoryConfig config)
 Note that custom sub-classes generally must override implementation
 of this method, as it usually requires instantiating a new instance of
 factory type. Check out javadocs for
 BeanSerializerFactory for more details.
public final SerializerFactory withAdditionalSerializers(Serializers additional)
withAdditionalSerializers in class SerializerFactorypublic final SerializerFactory withAdditionalKeySerializers(Serializers additional)
withAdditionalKeySerializers in class SerializerFactorypublic final SerializerFactory withSerializerModifier(BeanSerializerModifier modifier)
withSerializerModifier in class SerializerFactorypublic abstract JsonSerializer<Object> createSerializer(SerializerProvider prov, JavaType type) throws JsonMappingException
SerializerFactorycreateSerializer in class SerializerFactoryprov - Provider that needs to be used to resolve annotation-provided
    serializers (but NOT for others)JsonMappingExceptionpublic JsonSerializer<Object> createKeySerializer(SerializationConfig config, JavaType keyType, JsonSerializer<Object> defaultImpl)
SerializerFactoryJsonToken.FIELD_NAME) for Map that has specified declared
 key type, and is for specified property (or, if property is null, as root value)createKeySerializer in class SerializerFactorykeyType - Declared type for Map keysdefaultImpl - Default key serializer implementation to use, if no custom ones
    are found (may be null)public TypeSerializer createTypeSerializer(SerializationConfig config, JavaType baseType)
createTypeSerializer in class SerializerFactorybaseType - Declared type to use as the base type for type information serializerprotected abstract Iterable<Serializers> customSerializers()
protected final JsonSerializer<?> findSerializerByLookup(JavaType type, SerializationConfig config, BeanDescription beanDesc, boolean staticTyping)
protected final JsonSerializer<?> findSerializerByAnnotations(SerializerProvider prov, JavaType type, BeanDescription beanDesc) throws JsonMappingException
JsonSerializable)
 determines the serializer to use.
Currently handles things like:
JsonSerializable, use that
  JsonValue annotation (or equivalent), build serializer
    based on that property
  JsonMappingExceptionprotected final JsonSerializer<?> findSerializerByPrimaryType(SerializerProvider prov, JavaType type, BeanDescription beanDesc, boolean staticTyping) throws JsonMappingException
findSerializerByLookup).
 This does not include "secondary" interfaces, but
 mostly concrete or abstract base classes.JsonMappingExceptionprotected JsonSerializer<?> findOptionalStdSerializer(SerializerProvider prov, JavaType type, BeanDescription beanDesc, boolean staticTyping) throws JsonMappingException
JsonMappingExceptionprotected final JsonSerializer<?> findSerializerByAddonType(SerializationConfig config, JavaType javaType, BeanDescription beanDesc, boolean staticTyping) throws JsonMappingException
Iterable, but their main
 function is usually something else. The reason forJsonMappingExceptionprotected JsonSerializer<Object> findSerializerFromAnnotation(SerializerProvider prov, Annotated a) throws JsonMappingException
JsonMappingExceptionprotected JsonSerializer<?> findConvertingSerializer(SerializerProvider prov, Annotated a, JsonSerializer<?> ser) throws JsonMappingException
Converter is to
 be used; and if so, to construct and return suitable serializer for it.
 If not, will simply return given serializer as is.JsonMappingExceptionprotected Converter<Object,Object> findConverter(SerializerProvider prov, Annotated a) throws JsonMappingException
JsonMappingExceptionprotected JsonSerializer<?> buildContainerSerializer(SerializerProvider prov, JavaType type, BeanDescription beanDesc, boolean staticTyping) throws JsonMappingException
JsonMappingExceptionprotected JsonSerializer<?> buildCollectionSerializer(SerializerProvider prov, CollectionType type, BeanDescription beanDesc, boolean staticTyping, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer) throws JsonMappingException
List types that support efficient by-index accessJsonMappingExceptionprotected boolean isIndexedList(Class<?> cls)
public ContainerSerializer<?> buildIndexedListSerializer(JavaType elemType, boolean staticTyping, TypeSerializer vts, JsonSerializer<Object> valueSerializer)
public ContainerSerializer<?> buildCollectionSerializer(JavaType elemType, boolean staticTyping, TypeSerializer vts, JsonSerializer<Object> valueSerializer)
public JsonSerializer<?> buildEnumSetSerializer(JavaType enumType)
protected JsonSerializer<?> buildMapSerializer(SerializerProvider prov, MapType type, BeanDescription beanDesc, boolean staticTyping, JsonSerializer<Object> keySerializer, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer) throws JsonMappingException
Map types.JsonMappingExceptionprotected Object findSuppressableContentValue(SerializationConfig config, JavaType contentType, BeanDescription beanDesc) throws JsonMappingException
 NOTE: although return type is left opaque, it really needs to be
 JsonInclude.Include for things to work as expected.
JsonMappingExceptionprotected JsonSerializer<?> buildArraySerializer(SerializerProvider prov, ArrayType type, BeanDescription beanDesc, boolean staticTyping, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer) throws JsonMappingException
Object[] (and subtypes, except for String).JsonMappingExceptionprotected JsonSerializer<?> buildIteratorSerializer(SerializationConfig config, JavaType type, BeanDescription beanDesc, boolean staticTyping, JavaType valueType) throws JsonMappingException
JsonMappingExceptionprotected JsonSerializer<?> buildIterableSerializer(SerializationConfig config, JavaType type, BeanDescription beanDesc, boolean staticTyping, JavaType valueType) throws JsonMappingException
JsonMappingExceptionprotected JsonSerializer<?> buildMapEntrySerializer(SerializationConfig config, JavaType type, BeanDescription beanDesc, boolean staticTyping, JavaType keyType, JavaType valueType) throws JsonMappingException
JsonMappingExceptionprotected JsonSerializer<?> buildEnumSerializer(SerializationConfig config, JavaType type, BeanDescription beanDesc) throws JsonMappingException
JsonMappingExceptionprotected JsonSerializer<Object> _findKeySerializer(SerializerProvider prov, Annotated a) throws JsonMappingException
JsonMappingExceptionprotected JsonSerializer<Object> _findContentSerializer(SerializerProvider prov, Annotated a) throws JsonMappingException
JsonMappingExceptionprotected Object findFilterId(SerializationConfig config, BeanDescription beanDesc)
protected boolean usesStaticTyping(SerializationConfig config, BeanDescription beanDesc, TypeSerializer typeSer)
Copyright © 2017 JBoss by Red Hat. All rights reserved.