Class ObjectMapperFactory

    • Field Detail

      • baseClassList

        private List<Class<?>> baseClassList
      • subtypeList

        private List<com.fasterxml.jackson.databind.jsontype.NamedType> subtypeList
      • extensionModule

        private com.fasterxml.jackson.databind.module.SimpleModule extensionModule
    • Constructor Detail

      • ObjectMapperFactory

        public ObjectMapperFactory()
        The constructor.
    • Method Detail

      • getExtensionModule

        public com.fasterxml.jackson.databind.module.SimpleModule getExtensionModule()
        Gets access to a generic extension module for customizations to Jackson JSON mapping.
        Returns:
        extensionModule
        See Also:
        SimpleModule.addSerializer(Class, com.fasterxml.jackson.databind.JsonSerializer), SimpleModule.addDeserializer(Class, com.fasterxml.jackson.databind.JsonDeserializer)
      • setBaseClasses

        public void setBaseClasses​(Class<?>... baseClasses)
        Parameters:
        baseClasses - are the base classes that are polymorphic (e.g. abstract transfer-object classes that have sub-types). You also need to register all sub-types of these polymorphic classes via setSubtypes(NamedType...).
      • setSubtypeList

        public void setSubtypeList​(List<com.fasterxml.jackson.databind.jsontype.NamedType> subtypeList)
        Parameters:
        subtypeList - the List of NamedTypes to register the subtypes.
        See Also:
        setSubtypes(NamedType...)
      • addSubtypes

        public void addSubtypes​(com.fasterxml.jackson.databind.jsontype.NamedType... subtypes)
        Parameters:
        subtypes - the NamedTypes to add to sub-type list for registration.
        See Also:
        setSubtypes(NamedType...)
      • setSubtypes

        public void setSubtypes​(com.fasterxml.jackson.databind.jsontype.NamedType... subtypeList)
        Parameters:
        subtypeList - the NamedTypes as pair of Class reflecting a polymorphic sub-type together with its unique name in JSON format.
      • createInstance

        public com.fasterxml.jackson.databind.ObjectMapper createInstance()
        Returns:
        an instance of ObjectMapper configured for polymorphic resolution.
      • initMapping

        protected com.fasterxml.jackson.databind.module.SimpleModule initMapping()
        Returns:
        an instance of SimpleModule for registering configurations