Java 类com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer 实例源码

项目:presto    文件:AbstractTypedJacksonModule.java   
public InternalTypeDeserializer(Class<T> baseClass, TypeIdResolver typeIdResolver)
{
    super(baseClass);
    this.typeDeserializer = new AsPropertyTypeDeserializer(SimpleType.construct(baseClass), typeIdResolver, TYPE_PROPERTY, false, null);
}
项目:clotho3crud    文件:WideningAsPropertyTypeDeserializer.java   
public WideningAsPropertyTypeDeserializer(AsPropertyTypeDeserializer src, BeanProperty property) {
    super(src, property);
}
项目:coala    文件:DynamicBeanJacksonDeserializer.java   
@SuppressWarnings("deprecation")
@Override
public DynamicBean deserializeWithType(JsonParser jp,
        DeserializationContext ctxt, TypeDeserializer typeDeserializer)
        throws IOException, JsonProcessingException
{
    ObjectMapper tMapper = (ObjectMapper) jp.getCodec();
    JsonNode tJsonRootNode = tMapper.readTree(jp);
    ObjectNode tRootNode = null;

    if (tJsonRootNode.isObject())
    {
        tRootNode = (ObjectNode) tJsonRootNode;
    } else
    {
        tRootNode = tMapper.createObjectNode();
        tRootNode.put("value", tJsonRootNode);
    }

    JsonNode tDynamicBeanClassNameNode = tRootNode.get(typeDeserializer
            .getPropertyName());

    String tDynamicBeanClassName = ((AsPropertyTypeDeserializer) typeDeserializer)
            .baseTypeName();
    if (tDynamicBeanClassNameNode != null)
    {
        tDynamicBeanClassName = tRootNode.get(
                typeDeserializer.getPropertyName()).asText();
    }

    try
    {
        ClassLoader tCurrentThreadLoader = Thread.currentThread()
                .getContextClassLoader();

        @SuppressWarnings("unchecked")
        Class<? extends DynamicBean> tDynamicBeanClass = (Class<? extends DynamicBean>) Class
                .forName(tDynamicBeanClassName, true, tCurrentThreadLoader);

        DynamicBean tDeserializerDynamicBean = DynamicBeanFactory
                .parseJSONNode(tRootNode, tDynamicBeanClass);

        // clean up the @class field
        tDeserializerDynamicBean.deleteField(DealField
                .useCustomField(typeDeserializer.getPropertyName()));

        return tDeserializerDynamicBean;
    } catch (ClassNotFoundException ex)
    {
        LOG.warn("Cannot parse Dynamic Bean class " + tDynamicBeanClassName
                + ", returning null.", ex);
        return getNullValue();
    }
}
项目:mandrel    文件:DynamicPropertyTypeDeserializer.java   
public DynamicPropertyTypeDeserializer(final AsPropertyTypeDeserializer src, final BeanProperty property) {
    super(src, property);
}