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

项目:QuizUpWinner    文件:BasicDeserializerFactory.java   
public JsonDeserializer<?> createArrayDeserializer(DeserializationContext paramDeserializationContext, ArrayType paramArrayType, BeanDescription paramBeanDescription)
{
  DeserializationConfig localDeserializationConfig = paramDeserializationContext.getConfig();
  JavaType localJavaType = paramArrayType.getContentType();
  JsonDeserializer localJsonDeserializer1 = (JsonDeserializer)localJavaType.getValueHandler();
  TypeDeserializer localTypeDeserializer1 = (TypeDeserializer)localJavaType.getTypeHandler();
  TypeDeserializer localTypeDeserializer2 = localTypeDeserializer1;
  if (localTypeDeserializer1 == null)
    localTypeDeserializer2 = findTypeDeserializer(localDeserializationConfig, localJavaType);
  JsonDeserializer localJsonDeserializer2 = _findCustomArrayDeserializer(paramArrayType, localDeserializationConfig, paramBeanDescription, localTypeDeserializer2, localJsonDeserializer1);
  Object localObject = localJsonDeserializer2;
  if (localJsonDeserializer2 == null)
  {
    if (localJsonDeserializer1 == null)
    {
      Class localClass = localJavaType.getRawClass();
      if (localJavaType.isPrimitive())
        return PrimitiveArrayDeserializers.forType(localClass);
      if (localClass == String.class)
        return StringArrayDeserializer.instance;
    }
    if (localObject == null)
      localObject = new ObjectArrayDeserializer(paramArrayType, localJsonDeserializer1, localTypeDeserializer2);
  }
  if (this._factoryConfig.hasDeserializerModifiers())
  {
    Iterator localIterator = this._factoryConfig.deserializerModifiers().iterator();
    while (localIterator.hasNext())
      localObject = ((BeanDeserializerModifier)localIterator.next()).modifyArrayDeserializer(localDeserializationConfig, paramArrayType, paramBeanDescription, (JsonDeserializer)localObject);
  }
  return localObject;
}