StoredValueResolver.java

  1. package com.syntifi.casper.sdk.jackson.resolver;

  2. import com.fasterxml.jackson.databind.DeserializationConfig;
  3. import com.fasterxml.jackson.databind.JavaType;
  4. import com.fasterxml.jackson.databind.jsontype.NamedType;
  5. import com.fasterxml.jackson.databind.jsontype.TypeDeserializer;
  6. import com.fasterxml.jackson.databind.jsontype.impl.StdTypeResolverBuilder;
  7. import com.syntifi.casper.sdk.jackson.deserializer.StoredValueDeserializer;
  8. import com.syntifi.casper.sdk.model.clvalue.AbstractCLValue;

  9. import java.util.Collection;

  10. /**
  11.  * Specification of the Custom Type Resolver for CLValue subtype identification.
  12.  * This is used by jackson with the @JsonTypeResolver decorator
  13.  *
  14.  * @author Alexandre Carvalho
  15.  * @author Andre Bertolace
  16.  * @see AbstractCLValue
  17.  * @since 0.0.1
  18.  */
  19. public class StoredValueResolver extends StdTypeResolverBuilder {
  20.     @Override
  21.     public TypeDeserializer buildTypeDeserializer(final DeserializationConfig config, final JavaType baseType,
  22.                                                   final Collection<NamedType> subtypes) {
  23.         return new StoredValueDeserializer(baseType, null, _typeProperty, _typeIdVisible, baseType);
  24.     }
  25. }