Java 类com.fasterxml.jackson.databind.deser.ContextualDeserializer 实例源码

项目:QuizUpWinner    文件:EnumMapDeserializer.java   
public JsonDeserializer<?> createContextual(DeserializationContext paramDeserializationContext, BeanProperty paramBeanProperty)
{
  JsonDeserializer localJsonDeserializer1 = this._keyDeserializer;
  JsonDeserializer localJsonDeserializer2 = localJsonDeserializer1;
  if (localJsonDeserializer1 == null)
    localJsonDeserializer2 = paramDeserializationContext.findContextualValueDeserializer(this._mapType.getKeyType(), paramBeanProperty);
  JsonDeserializer localJsonDeserializer3 = this._valueDeserializer;
  JsonDeserializer localJsonDeserializer4 = localJsonDeserializer3;
  if (localJsonDeserializer3 == null)
    localJsonDeserializer4 = paramDeserializationContext.findContextualValueDeserializer(this._mapType.getContentType(), paramBeanProperty);
  else if ((localJsonDeserializer4 instanceof ContextualDeserializer))
    localJsonDeserializer4 = ((ContextualDeserializer)localJsonDeserializer4).createContextual(paramDeserializationContext, paramBeanProperty);
  TypeDeserializer localTypeDeserializer1 = this._valueTypeDeserializer;
  TypeDeserializer localTypeDeserializer2 = localTypeDeserializer1;
  if (localTypeDeserializer1 != null)
    localTypeDeserializer2 = localTypeDeserializer2.forProperty(paramBeanProperty);
  return withResolved(localJsonDeserializer2, localJsonDeserializer4, localTypeDeserializer2);
}
项目:joyplus-tv    文件:ObjectArrayDeserializer.java   
public JsonDeserializer<?> createContextual(DeserializationContext ctxt,
        BeanProperty property) throws JsonMappingException
{
    JsonDeserializer<?> deser = _elementDeserializer;
    if (deser == null) {
        deser = ctxt.findContextualValueDeserializer(_arrayType.getContentType(), property);
    } else { // if directly assigned, probably not yet contextual, so:
        if (deser instanceof ContextualDeserializer) {
            deser = ((ContextualDeserializer) deser).createContextual(ctxt, property);
        }
    }
    TypeDeserializer elemTypeDeser = _elementTypeDeserializer;
    if (elemTypeDeser != null) {
        elemTypeDeser = elemTypeDeser.forProperty(property);
    }
    return withDeserializer(elemTypeDeser, deser);
}
项目:joyplus-tv    文件:EnumMapDeserializer.java   
/**
     * Method called to finalize setup of this deserializer,
     * when it is known for which property deserializer is needed for.
     */
//  @Override
    public JsonDeserializer<?> createContextual(DeserializationContext ctxt,
            BeanProperty property) throws JsonMappingException
    {
        // note: instead of finding key deserializer, with enums we actually
        // work with regular deserializers (less code duplication; but not
        // quite as clean as it ought to be)
        JsonDeserializer<?> kd = _keyDeserializer;
        if (kd == null) {
            kd = ctxt.findContextualValueDeserializer(_mapType.getKeyType(), property);
        }
        JsonDeserializer<?> vd = _valueDeserializer;
        if (vd == null) {
            vd = ctxt.findContextualValueDeserializer(_mapType.getContentType(), property);
        } else { // if directly assigned, probably not yet contextual, so:
            if (vd instanceof ContextualDeserializer) {
                vd = ((ContextualDeserializer) vd).createContextual(ctxt, property);
            }
        }

        return withResolved(kd, vd);
    }
项目:QuizUpWinner    文件:ObjectArrayDeserializer.java   
public JsonDeserializer<?> createContextual(DeserializationContext paramDeserializationContext, BeanProperty paramBeanProperty)
{
  JsonDeserializer localJsonDeserializer1 = findConvertingContentDeserializer(paramDeserializationContext, paramBeanProperty, this._elementDeserializer);
  JsonDeserializer localJsonDeserializer2 = localJsonDeserializer1;
  if (localJsonDeserializer1 == null)
    localJsonDeserializer2 = paramDeserializationContext.findContextualValueDeserializer(this._arrayType.getContentType(), paramBeanProperty);
  else if ((localJsonDeserializer2 instanceof ContextualDeserializer))
    localJsonDeserializer2 = ((ContextualDeserializer)localJsonDeserializer2).createContextual(paramDeserializationContext, paramBeanProperty);
  TypeDeserializer localTypeDeserializer1 = this._elementTypeDeserializer;
  TypeDeserializer localTypeDeserializer2 = localTypeDeserializer1;
  if (localTypeDeserializer1 != null)
    localTypeDeserializer2 = localTypeDeserializer2.forProperty(paramBeanProperty);
  return withDeserializer(localTypeDeserializer2, localJsonDeserializer2);
}
项目:QuizUpWinner    文件:MapDeserializer.java   
public JsonDeserializer<?> createContextual(DeserializationContext paramDeserializationContext, BeanProperty paramBeanProperty)
{
  KeyDeserializer localKeyDeserializer1 = this._keyDeserializer;
  KeyDeserializer localKeyDeserializer2 = localKeyDeserializer1;
  if (localKeyDeserializer1 == null)
    localKeyDeserializer2 = paramDeserializationContext.findKeyDeserializer(this._mapType.getKeyType(), paramBeanProperty);
  else if ((localKeyDeserializer2 instanceof ContextualKeyDeserializer))
    localKeyDeserializer2 = ((ContextualKeyDeserializer)localKeyDeserializer2).createContextual(paramDeserializationContext, paramBeanProperty);
  JsonDeserializer localJsonDeserializer1 = findConvertingContentDeserializer(paramDeserializationContext, paramBeanProperty, this._valueDeserializer);
  JsonDeserializer localJsonDeserializer2 = localJsonDeserializer1;
  if (localJsonDeserializer1 == null)
    localJsonDeserializer2 = paramDeserializationContext.findContextualValueDeserializer(this._mapType.getContentType(), paramBeanProperty);
  else if ((localJsonDeserializer2 instanceof ContextualDeserializer))
    localJsonDeserializer2 = ((ContextualDeserializer)localJsonDeserializer2).createContextual(paramDeserializationContext, paramBeanProperty);
  TypeDeserializer localTypeDeserializer1 = this._valueTypeDeserializer;
  TypeDeserializer localTypeDeserializer2 = localTypeDeserializer1;
  if (localTypeDeserializer1 != null)
    localTypeDeserializer2 = localTypeDeserializer2.forProperty(paramBeanProperty);
  Object localObject = this._ignorableProperties;
  AnnotationIntrospector localAnnotationIntrospector = paramDeserializationContext.getAnnotationIntrospector();
  if ((localAnnotationIntrospector != null) && (paramBeanProperty != null))
  {
    String[] arrayOfString = localAnnotationIntrospector.findPropertiesToIgnore(paramBeanProperty.getMember());
    if (arrayOfString != null)
    {
      HashSet localHashSet;
      if (localObject == null)
        localHashSet = new HashSet();
      else
        localHashSet = new HashSet((Collection)localObject);
      localObject = localHashSet;
      int i = arrayOfString.length;
      for (int j = 0; j < i; j++)
        ((HashSet)localObject).add(arrayOfString[j]);
    }
  }
  return withResolved(localKeyDeserializer2, localTypeDeserializer2, localJsonDeserializer2, (HashSet)localObject);
}
项目:QuizUpWinner    文件:StringCollectionDeserializer.java   
public final JsonDeserializer<?> createContextual(DeserializationContext paramDeserializationContext, BeanProperty paramBeanProperty)
{
  ValueInstantiator localValueInstantiator = this._valueInstantiator;
  JsonDeserializer localJsonDeserializer1 = null;
  if (localValueInstantiator != null)
  {
    AnnotatedWithParams localAnnotatedWithParams = this._valueInstantiator.getDelegateCreator();
    localJsonDeserializer1 = null;
    if (localAnnotatedWithParams != null)
      localJsonDeserializer1 = findDeserializer(paramDeserializationContext, this._valueInstantiator.getDelegateType(paramDeserializationContext.getConfig()), paramBeanProperty);
  }
  JsonDeserializer localJsonDeserializer2 = this._valueDeserializer;
  Object localObject = localJsonDeserializer2;
  if (localJsonDeserializer2 == null)
  {
    JsonDeserializer localJsonDeserializer3 = findConvertingContentDeserializer(paramDeserializationContext, paramBeanProperty, (JsonDeserializer)localObject);
    localObject = localJsonDeserializer3;
    if (localJsonDeserializer3 == null)
      localObject = paramDeserializationContext.findContextualValueDeserializer(this._collectionType.getContentType(), paramBeanProperty);
  }
  else if ((localObject instanceof ContextualDeserializer))
  {
    localObject = ((ContextualDeserializer)localObject).createContextual(paramDeserializationContext, paramBeanProperty);
  }
  if (isDefaultDeserializer((JsonDeserializer)localObject))
    localObject = null;
  return withResolved(localJsonDeserializer1, (JsonDeserializer)localObject);
}
项目:QuizUpWinner    文件:EnumSetDeserializer.java   
public JsonDeserializer<?> createContextual(DeserializationContext paramDeserializationContext, BeanProperty paramBeanProperty)
{
  JsonDeserializer localJsonDeserializer1 = this._enumDeserializer;
  JsonDeserializer localJsonDeserializer2 = localJsonDeserializer1;
  if (localJsonDeserializer1 == null)
    localJsonDeserializer2 = paramDeserializationContext.findContextualValueDeserializer(this._enumType, paramBeanProperty);
  else if ((localJsonDeserializer2 instanceof ContextualDeserializer))
    localJsonDeserializer2 = ((ContextualDeserializer)localJsonDeserializer2).createContextual(paramDeserializationContext, paramBeanProperty);
  return withDeserializer(localJsonDeserializer2);
}
项目:QuizUpWinner    文件:CollectionDeserializer.java   
public CollectionDeserializer createContextual(DeserializationContext paramDeserializationContext, BeanProperty paramBeanProperty)
{
  ValueInstantiator localValueInstantiator = this._valueInstantiator;
  JsonDeserializer localJsonDeserializer1 = null;
  if (localValueInstantiator != null)
  {
    boolean bool = this._valueInstantiator.canCreateUsingDelegate();
    localJsonDeserializer1 = null;
    if (bool)
    {
      JavaType localJavaType = this._valueInstantiator.getDelegateType(paramDeserializationContext.getConfig());
      if (localJavaType == null)
        throw new IllegalArgumentException("Invalid delegate-creator definition for " + this._collectionType + ": value instantiator (" + this._valueInstantiator.getClass().getName() + ") returned true for 'canCreateUsingDelegate()', but null for 'getDelegateType()'");
      localJsonDeserializer1 = findDeserializer(paramDeserializationContext, localJavaType, paramBeanProperty);
    }
  }
  JsonDeserializer localJsonDeserializer2 = findConvertingContentDeserializer(paramDeserializationContext, paramBeanProperty, this._valueDeserializer);
  JsonDeserializer localJsonDeserializer3 = localJsonDeserializer2;
  if (localJsonDeserializer2 == null)
    localJsonDeserializer3 = paramDeserializationContext.findContextualValueDeserializer(this._collectionType.getContentType(), paramBeanProperty);
  else if ((localJsonDeserializer3 instanceof ContextualDeserializer))
    localJsonDeserializer3 = ((ContextualDeserializer)localJsonDeserializer3).createContextual(paramDeserializationContext, paramBeanProperty);
  TypeDeserializer localTypeDeserializer1 = this._valueTypeDeserializer;
  TypeDeserializer localTypeDeserializer2 = localTypeDeserializer1;
  if (localTypeDeserializer1 != null)
    localTypeDeserializer2 = localTypeDeserializer2.forProperty(paramBeanProperty);
  return withResolved(localJsonDeserializer1, localJsonDeserializer3, localTypeDeserializer2);
}
项目:QuizUpWinner    文件:DelegatingDeserializer.java   
public JsonDeserializer<?> createContextual(DeserializationContext paramDeserializationContext, BeanProperty paramBeanProperty)
{
  JsonDeserializer localJsonDeserializer1 = this._delegatee;
  JsonDeserializer localJsonDeserializer2 = localJsonDeserializer1;
  if ((localJsonDeserializer1 instanceof ContextualDeserializer))
    localJsonDeserializer2 = ((ContextualDeserializer)localJsonDeserializer2).createContextual(paramDeserializationContext, paramBeanProperty);
  return _createContextual(paramDeserializationContext, paramBeanProperty, localJsonDeserializer2);
}
项目:QuizUpWinner    文件:StdDelegatingDeserializer.java   
public JsonDeserializer<?> createContextual(DeserializationContext paramDeserializationContext, BeanProperty paramBeanProperty)
{
  if (this._delegateDeserializer != null)
  {
    if ((this._delegateDeserializer instanceof ContextualDeserializer))
    {
      JsonDeserializer localJsonDeserializer = ((ContextualDeserializer)this._delegateDeserializer).createContextual(paramDeserializationContext, paramBeanProperty);
      if (localJsonDeserializer != this._delegateDeserializer)
        return withDelegate(this._converter, this._delegateType, localJsonDeserializer);
    }
    return this;
  }
  JavaType localJavaType = this._converter.getInputType(paramDeserializationContext.getTypeFactory());
  return withDelegate(this._converter, localJavaType, paramDeserializationContext.findContextualValueDeserializer(localJavaType, paramBeanProperty));
}
项目:QuizUpWinner    文件:StringArrayDeserializer.java   
public final JsonDeserializer<?> createContextual(DeserializationContext paramDeserializationContext, BeanProperty paramBeanProperty)
{
  JsonDeserializer localJsonDeserializer1 = findConvertingContentDeserializer(paramDeserializationContext, paramBeanProperty, this._elementDeserializer);
  JsonDeserializer localJsonDeserializer2 = localJsonDeserializer1;
  if (localJsonDeserializer1 == null)
    localJsonDeserializer2 = paramDeserializationContext.findContextualValueDeserializer(paramDeserializationContext.constructType(String.class), paramBeanProperty);
  else if ((localJsonDeserializer2 instanceof ContextualDeserializer))
    localJsonDeserializer2 = ((ContextualDeserializer)localJsonDeserializer2).createContextual(paramDeserializationContext, paramBeanProperty);
  if ((localJsonDeserializer2 != null) && (isDefaultDeserializer(localJsonDeserializer2)))
    localJsonDeserializer2 = null;
  if (this._elementDeserializer != localJsonDeserializer2)
    return new StringArrayDeserializer(localJsonDeserializer2);
  return this;
}
项目:QuizUpWinner    文件:DeserializationContext.java   
public final JsonDeserializer<Object> findContextualValueDeserializer(JavaType paramJavaType, BeanProperty paramBeanProperty)
{
  JsonDeserializer localJsonDeserializer1 = this._cache.findValueDeserializer(this, this._factory, paramJavaType);
  JsonDeserializer localJsonDeserializer2 = localJsonDeserializer1;
  if ((localJsonDeserializer1 != null) && ((localJsonDeserializer2 instanceof ContextualDeserializer)))
    localJsonDeserializer2 = ((ContextualDeserializer)localJsonDeserializer2).createContextual(this, paramBeanProperty);
  return localJsonDeserializer2;
}
项目:QuizUpWinner    文件:DeserializationContext.java   
public final JsonDeserializer<Object> findRootValueDeserializer(JavaType paramJavaType)
{
  JsonDeserializer localJsonDeserializer1 = this._cache.findValueDeserializer(this, this._factory, paramJavaType);
  JsonDeserializer localJsonDeserializer2 = localJsonDeserializer1;
  if (localJsonDeserializer1 == null)
    return null;
  if ((localJsonDeserializer2 instanceof ContextualDeserializer))
    localJsonDeserializer2 = ((ContextualDeserializer)localJsonDeserializer2).createContextual(this, null);
  TypeDeserializer localTypeDeserializer = this._factory.findTypeDeserializer(this._config, paramJavaType);
  if (localTypeDeserializer != null)
    return new TypeWrappedDeserializer(localTypeDeserializer.forProperty(null), localJsonDeserializer2);
  return localJsonDeserializer2;
}
项目:joyplus-tv    文件:StringCollectionDeserializer.java   
@SuppressWarnings("unchecked")
public JsonDeserializer<?> createContextual(DeserializationContext ctxt,
        BeanProperty property) throws JsonMappingException
{
    // May need to resolve types for delegate-based creators:
    JsonDeserializer<Object> delegate = null;
    if (_valueInstantiator != null) {
        AnnotatedWithParams delegateCreator = _valueInstantiator.getDelegateCreator();
        if (delegateCreator != null) {
            JavaType delegateType = _valueInstantiator.getDelegateType(ctxt.getConfig());
            delegate = findDeserializer(ctxt, delegateType, property);
        }
    }
    JsonDeserializer<?> valueDeser = _valueDeserializer;
    if (valueDeser == null) {
        // And we may also need to get deserializer for String
        JsonDeserializer<?> deser = ctxt.findContextualValueDeserializer(
                _collectionType.getContentType(), property);
        valueDeser = (JsonDeserializer<String>) deser;
    } else { // if directly assigned, probably not yet contextual, so:
        if (valueDeser instanceof ContextualDeserializer) {
            valueDeser = ((ContextualDeserializer) valueDeser).createContextual(ctxt, property);
        }
    } 
    if (isDefaultDeserializer(valueDeser)) {
        valueDeser = null;
    }
    return withResolved(delegate, valueDeser);
}
项目:joyplus-tv    文件:EnumSetDeserializer.java   
public JsonDeserializer<?> createContextual(DeserializationContext ctxt,
        BeanProperty property) throws JsonMappingException
{
    JsonDeserializer<?> deser = _enumDeserializer;
    if (deser == null) {
        deser = ctxt.findContextualValueDeserializer(_enumType, property);
    } else { // if directly assigned, probably not yet contextual, so:
        if (deser instanceof ContextualDeserializer) {
            deser = ((ContextualDeserializer) deser).createContextual(ctxt, property);
        }
    }
    return withDeserializer(deser);
}
项目:joyplus-tv    文件:CollectionDeserializer.java   
/**
     * Method called to finalize setup of this deserializer,
     * when it is known for which property deserializer is needed
     * for.
     */
//    @Override
    public CollectionDeserializer createContextual(DeserializationContext ctxt,
            BeanProperty property) throws JsonMappingException
    {
        // May need to resolve types for delegate-based creators:
        JsonDeserializer<Object> delegateDeser = null;
        if ((_valueInstantiator != null) && _valueInstantiator.canCreateUsingDelegate()) {
            JavaType delegateType = _valueInstantiator.getDelegateType(ctxt.getConfig());
            if (delegateType == null) {
                throw new IllegalArgumentException("Invalid delegate-creator definition for "+_collectionType
                        +": value instantiator ("+_valueInstantiator.getClass().getName()
                        +") returned true for 'canCreateUsingDelegate()', but null for 'getDelegateType()'");
            }
            delegateDeser = findDeserializer(ctxt, delegateType, property);
        }
        // also, often value deserializer is resolved here:
        JsonDeserializer<?> valueDeser = _valueDeserializer;
        if (valueDeser == null) {
            valueDeser = ctxt.findContextualValueDeserializer(
                    _collectionType.getContentType(), property);
        } else { // if directly assigned, probably not yet contextual, so:
            if (valueDeser instanceof ContextualDeserializer) {
                valueDeser = ((ContextualDeserializer) valueDeser).createContextual(ctxt, property);
            }
        }
        // and finally, type deserializer needs context as well
        TypeDeserializer valueTypeDeser = _valueTypeDeserializer;
        if (valueTypeDeser != null) {
            valueTypeDeser = valueTypeDeser.forProperty(property);
        }
        return withResolved(delegateDeser, valueDeser, valueTypeDeser);
    }