public class AbstractTypeMaterializer
extends com.fasterxml.jackson.databind.AbstractTypeResolver
implements com.fasterxml.jackson.core.Versioned
... friends call him Mister Bean... :-)
Modifier and Type | Class and Description |
---|---|
static class |
AbstractTypeMaterializer.Feature
Enumeration that defines togglable features that guide
the serialization feature.
|
Modifier and Type | Field and Description |
---|---|
protected com.fasterxml.jackson.module.mrbean.AbstractTypeMaterializer.MyClassLoader |
_classLoader
We will use per-materializer class loader for now; would be nice
to find a way to reduce number of class loaders (and hence
number of generated classes!) constructed...
|
protected java.lang.String |
_defaultPackage
Package name to use as prefix for generated classes.
|
protected int |
_featureFlags
Bit set that contains all enabled features
|
protected static int |
DEFAULT_FEATURE_FLAGS
Bitfield (set of flags) of all Features that are enabled
by default.
|
static java.lang.String |
DEFAULT_PACKAGE_FOR_GENERATED
Default package to use for generated classes.
|
Constructor and Description |
---|
AbstractTypeMaterializer() |
AbstractTypeMaterializer(java.lang.ClassLoader parentClassLoader) |
Modifier and Type | Method and Description |
---|---|
void |
disable(AbstractTypeMaterializer.Feature f)
Method for disabling specified feature.
|
void |
enable(AbstractTypeMaterializer.Feature f)
Method for enabling specified feature.
|
boolean |
isEnabled(AbstractTypeMaterializer.Feature f)
Method for checking whether given feature is enabled or not
|
java.lang.Class<?> |
materializeClass(com.fasterxml.jackson.databind.DeserializationConfig config,
com.fasterxml.jackson.databind.JavaType type)
Deprecated.
Since 2.4 use
materializeType(MapperConfig, JavaType) instead |
java.lang.Class<?> |
materializeGenericType(com.fasterxml.jackson.databind.cfg.MapperConfig<?> config,
com.fasterxml.jackson.databind.JavaType type) |
java.lang.Class<?> |
materializeRawType(com.fasterxml.jackson.databind.cfg.MapperConfig<?> config,
java.lang.Class<?> rawType)
NOTE: should not be called for generic types.
|
java.lang.Class<?> |
materializeType(com.fasterxml.jackson.databind.cfg.MapperConfig<?> config,
com.fasterxml.jackson.databind.JavaType type)
Method that will find implementation for given abstract class; if called
multiple times on same materializer, will return same Class.
|
com.fasterxml.jackson.databind.JavaType |
resolveAbstractType(com.fasterxml.jackson.databind.DeserializationConfig config,
com.fasterxml.jackson.databind.JavaType type)
Entry-point for
AbstractTypeResolver that Jackson calls to materialize
an abstract type. |
void |
set(AbstractTypeMaterializer.Feature f,
boolean state)
Method for enabling or disabling specified feature.
|
void |
setDefaultPackage(java.lang.String defPkg)
Method for specifying package to use for generated classes.
|
com.fasterxml.jackson.core.Version |
version()
Method that will return version information stored in and read from jar
that contains this class.
|
protected static final int DEFAULT_FEATURE_FLAGS
public static final java.lang.String DEFAULT_PACKAGE_FOR_GENERATED
Note that before 2.6, defaulted to "org.codehaus.jackson.generated.", changed as per [mrbean#21]
protected final com.fasterxml.jackson.module.mrbean.AbstractTypeMaterializer.MyClassLoader _classLoader
protected int _featureFlags
protected java.lang.String _defaultPackage
public AbstractTypeMaterializer()
public AbstractTypeMaterializer(java.lang.ClassLoader parentClassLoader)
parentClassLoader
- Class loader to use for generated classes; if
null, will use class loader that loaded materializer itself.public com.fasterxml.jackson.core.Version version()
version
in interface com.fasterxml.jackson.core.Versioned
public final boolean isEnabled(AbstractTypeMaterializer.Feature f)
public void enable(AbstractTypeMaterializer.Feature f)
public void disable(AbstractTypeMaterializer.Feature f)
public void set(AbstractTypeMaterializer.Feature f, boolean state)
public void setDefaultPackage(java.lang.String defPkg)
public com.fasterxml.jackson.databind.JavaType resolveAbstractType(com.fasterxml.jackson.databind.DeserializationConfig config, com.fasterxml.jackson.databind.JavaType type)
AbstractTypeResolver
that Jackson calls to materialize
an abstract type.resolveAbstractType
in class com.fasterxml.jackson.databind.AbstractTypeResolver
public java.lang.Class<?> materializeType(com.fasterxml.jackson.databind.cfg.MapperConfig<?> config, com.fasterxml.jackson.databind.JavaType type)
config
- Configuration settings to use; mostly needed to be able to
access TypeFactory
public java.lang.Class<?> materializeGenericType(com.fasterxml.jackson.databind.cfg.MapperConfig<?> config, com.fasterxml.jackson.databind.JavaType type)
public java.lang.Class<?> materializeRawType(com.fasterxml.jackson.databind.cfg.MapperConfig<?> config, java.lang.Class<?> rawType)
@Deprecated public java.lang.Class<?> materializeClass(com.fasterxml.jackson.databind.DeserializationConfig config, com.fasterxml.jackson.databind.JavaType type)
materializeType(MapperConfig, JavaType)
instead