Class JacksonJsonToObjectMapper<T>
- java.lang.Object
-
- net.obvj.confectory.mapper.JacksonJsonToObjectMapper<T>
-
- Type Parameters:
T- the target type to be produced by thisMapper(the target class may contain Jackson annotations for due mapping -- e.g.:@JsonProperty, @JsonIgnore)
- All Implemented Interfaces:
Mapper<T>
- Direct Known Subclasses:
JacksonJsonNodeMapper
public class JacksonJsonToObjectMapper<T> extends Object implements Mapper<T>
A specializedMapperthat loads the contents of a valid JSONSource(e.g.: file, URL, string) into POJO (Plain Old Java Object), using Jackson'sJsonMapper.Additional details may be found at Jackson's official documentation.
Since version 2.4.0, this class supports lookup and registration of Jackson modules by default. However, since modules lookup is considered a potentially expensive operation, it can be disabled by setting the
disableModulesflag in the constructor:new JacksonJsonToObjectMapper(Class<?>, boolean)Note: To avoid a performance overhead, Jackson modules lookup happens automatically at the first instantiation of a
JacksonJsonToObjectMapperwith enable support for modules.- Since:
- 0.3.0
- Author:
- oswaldo.bapvic.jr (Oswaldo Junior)
-
-
Constructor Summary
Constructors Constructor Description JacksonJsonToObjectMapper(Class<T> targetType)Builds a newJacksonJsonToObjectMapperinstance with the specified target type and support for Jackson modules enabled by default.JacksonJsonToObjectMapper(Class<T> targetType, boolean disableModules)Builds a newJacksonJsonToObjectMapperinstance with the specified target type.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description Tapply(InputStream inputStream)ConfigurationHelper<T>configurationHelper(T object)static voidreloadModulesCache()Reload Jackson modules for use by new or existingJacksonJsonToObjectMapperinstances with Jackson modules enabled.static voidresetModulesCache()Reset Jackson modules for reload in the next use ofJacksonJsonToObjectMapperinstances with Jackson modules enabled.
-
-
-
Constructor Detail
-
JacksonJsonToObjectMapper
public JacksonJsonToObjectMapper(Class<T> targetType)
Builds a newJacksonJsonToObjectMapperinstance with the specified target type and support for Jackson modules enabled by default.- Parameters:
targetType- the target type to be produced by thisMapper
-
JacksonJsonToObjectMapper
public JacksonJsonToObjectMapper(Class<T> targetType, boolean disableModules)
Builds a newJacksonJsonToObjectMapperinstance with the specified target type.- Parameters:
targetType- the target type to be produced by thisMapperdisableModules- disable Jackson modules; useful for an optimized processing if Jackson add-ons are NOT required- Since:
- 2.4.0
-
-
Method Detail
-
apply
public T apply(InputStream inputStream) throws IOException
- Specified by:
applyin interfaceMapper<T>- Throws:
IOException
-
reloadModulesCache
public static void reloadModulesCache()
Reload Jackson modules for use by new or existingJacksonJsonToObjectMapperinstances with Jackson modules enabled.Note: According to Jackson documentation, calls to
ObjectMapper.findModules()are considered potentially expensive, so the lookup happens automatically at the first instantiation ofJacksonJsonToObjectMapperwith enabled support for modules.- Since:
- 2.4.0
-
resetModulesCache
public static void resetModulesCache()
Reset Jackson modules for reload in the next use ofJacksonJsonToObjectMapperinstances with Jackson modules enabled.- Since:
- 2.4.0
-
configurationHelper
public ConfigurationHelper<T> configurationHelper(T object)
- Specified by:
configurationHelperin interfaceMapper<T>
-
-