PermissionDeserializer.java

  1. package com.syntifi.near.api.jackson.deserializer;

  2. import com.fasterxml.jackson.databind.BeanProperty;
  3. import com.fasterxml.jackson.databind.JavaType;
  4. import com.fasterxml.jackson.databind.jsontype.TypeDeserializer;
  5. import com.fasterxml.jackson.databind.jsontype.TypeIdResolver;
  6. import com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer;
  7. import com.syntifi.near.api.exception.NoSuchTypeException;
  8. import com.syntifi.near.api.model.accesskey.permission.PermissionTypeData;

  9. /**
  10.  * @author Alexandre Carvalho
  11.  * @author Andre Bertolace
  12.  * @since 0.0.1
  13.  */
  14. public class PermissionDeserializer extends AbstractAnyOfDeserializer {

  15.     public PermissionDeserializer(final JavaType bt, final TypeIdResolver idRes, final String typePropertyName,
  16.             final boolean typeIdVisible, JavaType defaultImpl) {
  17.         super(bt, idRes, typePropertyName, typeIdVisible, defaultImpl);
  18.     }

  19.     public PermissionDeserializer(final AsPropertyTypeDeserializer src, final BeanProperty property) {
  20.         super(src, property);
  21.     }

  22.     @Override
  23.     public TypeDeserializer forProperty(final BeanProperty prop) {
  24.         return new PermissionDeserializer(this, prop);
  25.     }

  26.     @Override
  27.     protected Class<?> getClassByName(String anyOfType) throws NoSuchTypeException {
  28.         return PermissionTypeData.getClassByName(anyOfType);
  29.     }
  30. }