java.lang.Object
edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.jsontype.impl.TypeIdResolverBase
All Implemented Interfaces:
TypeIdResolver
Direct Known Subclasses:
ClassNameIdResolver, TypeNameIdResolver

public abstract class TypeIdResolverBase extends Object implements TypeIdResolver
Partial base implementation of TypeIdResolver: all custom implementations are strongly recommended to extend this class, instead of directly implementing TypeIdResolver. Note that ALL sub-class need to re-implement typeFromId(DatabindContext, String) method; otherwise implementation will not work.

Note that instances created to be constructed from annotations (JsonTypeIdResolver) are always created using no-arguments constructor; protected constructor is only used sub-classes.

  • Field Details

    • _typeFactory

      protected final TypeFactory _typeFactory
    • _baseType

      protected final JavaType _baseType
      Common base type for all polymorphic instances handled.
  • Constructor Details

    • TypeIdResolverBase

      protected TypeIdResolverBase()
    • TypeIdResolverBase

      protected TypeIdResolverBase(JavaType baseType, TypeFactory typeFactory)
  • Method Details

    • init

      public void init(JavaType bt)
      Description copied from interface: TypeIdResolver
      Method that will be called once before any type resolution calls; used to initialize instance with configuration. This is necessary since instances may be created via reflection, without ability to call specific constructor to pass in configuration settings.
      Specified by:
      init in interface TypeIdResolver
      Parameters:
      bt - Base type for which this id resolver instance is used
    • idFromBaseType

      public String idFromBaseType()
      Description copied from interface: TypeIdResolver
      Method that can be called to figure out type id to use for instances of base type (declared type of property). This is usually only used for fallback handling, for cases where real type information is not available for some reason.
      Specified by:
      idFromBaseType in interface TypeIdResolver
    • typeFromId

      public JavaType typeFromId(DatabindContext context, String id) throws IOException
      Description copied from interface: TypeIdResolver
      Method called to resolve type from given type identifier.
      Specified by:
      typeFromId in interface TypeIdResolver
      Throws:
      IOException
    • getDescForKnownTypeIds

      public String getDescForKnownTypeIds()
      Helper method used to get a simple description of all known type ids, for use in error messages.
      Specified by:
      getDescForKnownTypeIds in interface TypeIdResolver