Class AbstractTypeMaterializer

java.lang.Object
org.codehaus.jackson.map.AbstractTypeResolver
org.codehaus.jackson.mrbean.AbstractTypeMaterializer
All Implemented Interfaces:
Versioned

public class AbstractTypeMaterializer extends AbstractTypeResolver implements Versioned
Nifty class for pulling implementations of classes out of thin air.

... friends call him Mister Bean... :-)

Since:
1.6
Author:
tatu, sunny
  • Field Details

    • DEFAULT_FEATURE_FLAGS

      protected static final int DEFAULT_FEATURE_FLAGS
      Bitfield (set of flags) of all Features that are enabled by default.
    • DEFAULT_PACKAGE_FOR_GENERATED

      public static final String DEFAULT_PACKAGE_FOR_GENERATED
      Default package to use for generated classes.
      See Also:
    • _classLoader

      protected final org.codehaus.jackson.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...
    • _featureFlags

      protected int _featureFlags
      Bit set that contains all enabled features
    • _defaultPackage

      protected String _defaultPackage
      Package name to use as prefix for generated classes.
  • Constructor Details

    • AbstractTypeMaterializer

      public AbstractTypeMaterializer()
    • AbstractTypeMaterializer

      public AbstractTypeMaterializer(ClassLoader parentClassLoader)
  • Method Details

    • version

      public Version version()
      Method that will return version information stored in and read from jar that contains this class.
      Specified by:
      version in interface Versioned
      Since:
      1.6
    • isEnabled

      public final boolean isEnabled(AbstractTypeMaterializer.Feature f)
      Method for checking whether given feature is enabled or not
    • enable

      public void enable(AbstractTypeMaterializer.Feature f)
      Method for enabling specified feature.
    • disable

      public void disable(AbstractTypeMaterializer.Feature f)
      Method for disabling specified feature.
    • set

      public void set(AbstractTypeMaterializer.Feature f, boolean state)
      Method for enabling or disabling specified feature.
    • setDefaultPackage

      public void setDefaultPackage(String defPkg)
    • resolveAbstractType

      public JavaType resolveAbstractType(DeserializationConfig config, JavaType type)
      Description copied from class: AbstractTypeResolver
      Method called to try to resolve an abstract type into concrete type (usually for purposes of deserializing), when no concrete implementation was found. It will be called after checking all other possibilities, including defaulting.
      Overrides:
      resolveAbstractType in class AbstractTypeResolver
      Parameters:
      config - Configuration in use; should always be of type DeserializationConfig
      type - Type for which materialization maybe needed
      Returns:
      Resolved concrete type (which should retain generic type parameters of input type, if any), if resolution succeeds; null if resolver does not know how to resolve type
    • materializeClass

      protected Class<?> materializeClass(DeserializationConfig config, Class<?> cls)