• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java ClassUtil类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中com.fasterxml.jackson.databind.util.ClassUtil的典型用法代码示例。如果您正苦于以下问题:Java ClassUtil类的具体用法?Java ClassUtil怎么用?Java ClassUtil使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



ClassUtil类属于com.fasterxml.jackson.databind.util包,在下文中一共展示了ClassUtil类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: makeValue

import com.fasterxml.jackson.databind.util.ClassUtil; //导入依赖的package包/类
public ObjBase makeValue(ObjectId id, DBObject rawData, Class<? extends ObjBase> c){

        if (Modifier.isAbstract(c.getModifiers()) || Modifier.isInterface(c.getModifiers())) {
            //extract declared schema from result, use that class
            Object schemaId = rawData.get(ReservedFieldNames.SCHEMA);
            try {
                c = (Class<ObjBase>) ClassUtil.findClass(schemaId.toString());
            } catch (ClassNotFoundException ex) {
                log.warn("Could not find fallback schema {}", schemaId);
                return null;
            }
        }
        
        ObjBase value = makeStub(id, c, rawData);
        // update stub with the rest of the data, 
        if (value != null && !(value instanceof Swappable)) 
            try {
                unmarshaller.unmarshall(Bson.createDocument(rawData), value, this);
            } catch (MarshallingException me){
                log.warn(me.getMessage(), me);
            }
        
        return value;
    }
 
开发者ID:CIDARLAB,项目名称:clotho3crud,代码行数:25,代码来源:InstantiatedReferencesQueryingCache.java


示例2: typeFromId

import com.fasterxml.jackson.databind.util.ClassUtil; //导入依赖的package包/类
@Override
public JavaType typeFromId(String id) {
    try{
        return super.typeFromId(id);
    } catch (IllegalArgumentException iae){
        try {
            //try the widening type construction instead
            Class<?> cls =  ClassUtil.findClass(id);
            if (cls.isAssignableFrom(_baseType.getRawClass()) || _baseType.getRawClass().equals(JSONFilter.class)) return _baseType;
            //TODO: make this message not suck
            else throw new IllegalArgumentException("Invalid type id '"+id+"' (for id type 'Id.class'): ");
        } catch (ClassNotFoundException cnfe){
            throw new IllegalArgumentException("Invalid type id '"+id+"' (for id type 'Id.class'): no such class found");
        } 
        catch (Exception e){
            //could neither narrow or widen that type combination
            throw new IllegalArgumentException("Invalid type id '"+id+"' (for id type 'Id.class'): "+e.getMessage(), e);
        } 
        
    }
}
 
开发者ID:CIDARLAB,项目名称:clotho3crud,代码行数:22,代码来源:WideningClassNameIdResolver.java


示例3: _constructWriter

import com.fasterxml.jackson.databind.util.ClassUtil; //导入依赖的package包/类
protected BeanPropertyWriter _constructWriter(SerializerProvider paramSerializerProvider, BeanPropertyDefinition paramBeanPropertyDefinition, TypeBindings paramTypeBindings, PropertyBuilder paramPropertyBuilder, boolean paramBoolean, AnnotatedMember paramAnnotatedMember)
{
  String str = paramBeanPropertyDefinition.getName();
  if (paramSerializerProvider.canOverrideAccessModifiers())
    paramAnnotatedMember.fixAccess();
  JavaType localJavaType = paramAnnotatedMember.getType(paramTypeBindings);
  BeanProperty.Std localStd = new BeanProperty.Std(str, localJavaType, paramBeanPropertyDefinition.getWrapperName(), paramPropertyBuilder.getClassAnnotations(), paramAnnotatedMember, paramBeanPropertyDefinition.isRequired());
  JsonSerializer localJsonSerializer1 = findSerializerFromAnnotation(paramSerializerProvider, paramAnnotatedMember);
  JsonSerializer localJsonSerializer2 = localJsonSerializer1;
  if ((localJsonSerializer1 instanceof ResolvableSerializer))
    ((ResolvableSerializer)localJsonSerializer2).resolve(paramSerializerProvider);
  if ((localJsonSerializer2 instanceof ContextualSerializer))
    localJsonSerializer2 = ((ContextualSerializer)localJsonSerializer2).createContextual(paramSerializerProvider, localStd);
  boolean bool = ClassUtil.isCollectionMapOrArray(localJavaType.getRawClass());
  TypeSerializer localTypeSerializer1 = null;
  if (bool)
    localTypeSerializer1 = findPropertyContentTypeSerializer(localJavaType, paramSerializerProvider.getConfig(), paramAnnotatedMember);
  TypeSerializer localTypeSerializer2 = findPropertyTypeSerializer(localJavaType, paramSerializerProvider.getConfig(), paramAnnotatedMember);
  return paramPropertyBuilder.buildWriter(paramBeanPropertyDefinition, localJavaType, localJsonSerializer2, localTypeSerializer2, localTypeSerializer1, paramAnnotatedMember, paramBoolean);
}
 
开发者ID:mmmsplay10,项目名称:QuizUpWinner,代码行数:21,代码来源:BeanSerializerFactory.java


示例4: _findNamingStrategy

import com.fasterxml.jackson.databind.util.ClassUtil; //导入依赖的package包/类
private PropertyNamingStrategy _findNamingStrategy()
{
  Object localObject1;
  if (this._annotationIntrospector == null)
    localObject1 = null;
  else
    localObject1 = this._annotationIntrospector.findNamingStrategy(this._classDef);
  Object localObject2 = localObject1;
  if (localObject1 == null)
    return this._config.getPropertyNamingStrategy();
  if ((localObject2 instanceof PropertyNamingStrategy))
    return (PropertyNamingStrategy)localObject2;
  if (!(localObject2 instanceof Class))
    throw new IllegalStateException("AnnotationIntrospector returned PropertyNamingStrategy definition of type " + localObject2.getClass().getName() + "; expected type PropertyNamingStrategy or Class<PropertyNamingStrategy> instead");
  Class localClass = (Class)localObject2;
  if (!PropertyNamingStrategy.class.isAssignableFrom(localClass))
    throw new IllegalStateException("AnnotationIntrospector returned Class " + localClass.getName() + "; expected Class<PropertyNamingStrategy>");
  HandlerInstantiator localHandlerInstantiator = this._config.getHandlerInstantiator();
  if (localHandlerInstantiator != null)
  {
    PropertyNamingStrategy localPropertyNamingStrategy = localHandlerInstantiator.namingStrategyInstance(this._config, this._classDef, localClass);
    if (localPropertyNamingStrategy != null)
      return localPropertyNamingStrategy;
  }
  return (PropertyNamingStrategy)ClassUtil.createInstance(localClass, this._config.canOverrideAccessModifiers());
}
 
开发者ID:mmmsplay10,项目名称:QuizUpWinner,代码行数:27,代码来源:POJOPropertiesCollector.java


示例5: _addMethodMixIns

import com.fasterxml.jackson.databind.util.ClassUtil; //导入依赖的package包/类
protected final void _addMethodMixIns(Class<?> paramClass1, AnnotatedMethodMap paramAnnotatedMethodMap1, Class<?> paramClass2, AnnotatedMethodMap paramAnnotatedMethodMap2)
{
  ArrayList localArrayList = new ArrayList();
  localArrayList.add(paramClass2);
  ClassUtil.findSuperTypes(paramClass2, paramClass1, localArrayList);
  Iterator localIterator = localArrayList.iterator();
  while (localIterator.hasNext())
    for (Method localMethod : ((Class)localIterator.next()).getDeclaredMethods())
      if (_isIncludableMemberMethod(localMethod))
      {
        AnnotatedMethod localAnnotatedMethod = paramAnnotatedMethodMap1.find(localMethod);
        if (localAnnotatedMethod != null)
          _addMixUnders(localMethod, localAnnotatedMethod);
        else
          paramAnnotatedMethodMap2.add(_constructMethod(localMethod));
      }
}
 
开发者ID:mmmsplay10,项目名称:QuizUpWinner,代码行数:18,代码来源:AnnotatedClass.java


示例6: _valueInstantiatorInstance

import com.fasterxml.jackson.databind.util.ClassUtil; //导入依赖的package包/类
public ValueInstantiator _valueInstantiatorInstance(DeserializationConfig paramDeserializationConfig, Annotated paramAnnotated, Object paramObject)
{
  if (paramObject == null)
    return null;
  if ((paramObject instanceof ValueInstantiator))
    return (ValueInstantiator)paramObject;
  if (!(paramObject instanceof Class))
    throw new IllegalStateException("AnnotationIntrospector returned key deserializer definition of type " + paramObject.getClass().getName() + "; expected type KeyDeserializer or Class<KeyDeserializer> instead");
  Class localClass = (Class)paramObject;
  if (localClass == NoClass.class)
    return null;
  if (!ValueInstantiator.class.isAssignableFrom(localClass))
    throw new IllegalStateException("AnnotationIntrospector returned Class " + localClass.getName() + "; expected Class<ValueInstantiator>");
  HandlerInstantiator localHandlerInstantiator = paramDeserializationConfig.getHandlerInstantiator();
  if (localHandlerInstantiator != null)
  {
    ValueInstantiator localValueInstantiator = localHandlerInstantiator.valueInstantiatorInstance(paramDeserializationConfig, paramAnnotated, localClass);
    if (localValueInstantiator != null)
      return localValueInstantiator;
  }
  return (ValueInstantiator)ClassUtil.createInstance(localClass, paramDeserializationConfig.canOverrideAccessModifiers());
}
 
开发者ID:mmmsplay10,项目名称:QuizUpWinner,代码行数:23,代码来源:BasicDeserializerFactory.java


示例7: deserialize

import com.fasterxml.jackson.databind.util.ClassUtil; //导入依赖的package包/类
public Class<?> deserialize(JsonParser paramJsonParser, DeserializationContext paramDeserializationContext)
{
  JsonToken localJsonToken = paramJsonParser.getCurrentToken();
  if (localJsonToken == JsonToken.VALUE_STRING)
  {
    String str = paramJsonParser.getText().trim();
    try
    {
      Class localClass = paramDeserializationContext.findClass(str);
      return localClass;
    }
    catch (Exception localException)
    {
      throw paramDeserializationContext.instantiationException(this._valueClass, ClassUtil.getRootCause(localException));
    }
  }
  throw paramDeserializationContext.mappingException(this._valueClass, localJsonToken);
}
 
开发者ID:mmmsplay10,项目名称:QuizUpWinner,代码行数:19,代码来源:ClassDeserializer.java


示例8: deserializerForCreator

import com.fasterxml.jackson.databind.util.ClassUtil; //导入依赖的package包/类
public static JsonDeserializer<?> deserializerForCreator(DeserializationConfig paramDeserializationConfig, Class<?> paramClass, AnnotatedMethod paramAnnotatedMethod)
{
  Class localClass = paramAnnotatedMethod.getRawParameterType(0);
  Object localObject;
  if (localClass == String.class)
    localObject = null;
  else if ((localClass == Integer.TYPE) || (localClass == Integer.class))
    localObject = Integer.class;
  else if ((localClass == Long.TYPE) || (localClass == Long.class))
    localObject = Long.class;
  else
    throw new IllegalArgumentException("Parameter #0 type for factory method (" + paramAnnotatedMethod + ") not suitable, must be java.lang.String or int/Integer/long/Long");
  if (paramDeserializationConfig.canOverrideAccessModifiers())
    ClassUtil.checkAndFixAccess(paramAnnotatedMethod.getMember());
  return new FactoryBasedDeserializer(paramClass, paramAnnotatedMethod, (Class)localObject);
}
 
开发者ID:mmmsplay10,项目名称:QuizUpWinner,代码行数:17,代码来源:EnumDeserializer.java


示例9: deserialize

import com.fasterxml.jackson.databind.util.ClassUtil; //导入依赖的package包/类
public Object deserialize(JsonParser paramJsonParser, DeserializationContext paramDeserializationContext)
{
  Object localObject1;
  if (this._inputType == null)
    localObject1 = paramJsonParser.getText();
  else if (this._inputType == Integer.class)
    localObject1 = Integer.valueOf(paramJsonParser.getValueAsInt());
  else if (this._inputType == Long.class)
    localObject1 = Long.valueOf(paramJsonParser.getValueAsLong());
  else
    throw paramDeserializationContext.mappingException(this._enumClass);
  try
  {
    Object localObject2 = this._factory.invoke(this._enumClass, new Object[] { localObject1 });
    return localObject2;
  }
  catch (Exception localException)
  {
    ClassUtil.unwrapAndThrowAsIAE(localException);
  }
  return null;
}
 
开发者ID:mmmsplay10,项目名称:QuizUpWinner,代码行数:23,代码来源:EnumDeserializer.java


示例10: findStringBasedKeyDeserializer

import com.fasterxml.jackson.databind.util.ClassUtil; //导入依赖的package包/类
public static KeyDeserializer findStringBasedKeyDeserializer(DeserializationConfig paramDeserializationConfig, JavaType paramJavaType)
{
  BeanDescription localBeanDescription = paramDeserializationConfig.introspect(paramJavaType);
  Constructor localConstructor = localBeanDescription.findSingleArgConstructor(new Class[] { String.class });
  if (localConstructor != null)
  {
    if (paramDeserializationConfig.canOverrideAccessModifiers())
      ClassUtil.checkAndFixAccess(localConstructor);
    return new StdKeyDeserializer.StringCtorKeyDeserializer(localConstructor);
  }
  Method localMethod = localBeanDescription.findFactoryMethod(new Class[] { String.class });
  if (localMethod != null)
  {
    if (paramDeserializationConfig.canOverrideAccessModifiers())
      ClassUtil.checkAndFixAccess(localMethod);
    return new StdKeyDeserializer.StringFactoryKeyDeserializer(localMethod);
  }
  return null;
}
 
开发者ID:mmmsplay10,项目名称:QuizUpWinner,代码行数:20,代码来源:StdKeyDeserializers.java


示例11: _parse

import com.fasterxml.jackson.databind.util.ClassUtil; //导入依赖的package包/类
public final Object _parse(String paramString, DeserializationContext paramDeserializationContext)
{
  if (this._factory != null)
    try
    {
      Object localObject = this._factory.call1(paramString);
      return localObject;
    }
    catch (Exception localException)
    {
      ClassUtil.unwrapAndThrowAsIAE(localException);
    }
  Enum localEnum = this._resolver.findEnum(paramString);
  if ((localEnum == null) && (!paramDeserializationContext.getConfig().isEnabled(DeserializationFeature.READ_UNKNOWN_ENUM_VALUES_AS_NULL)))
    throw paramDeserializationContext.weirdKeyException(this._keyClass, paramString, "not one of values for Enum class");
  return localEnum;
}
 
开发者ID:mmmsplay10,项目名称:QuizUpWinner,代码行数:18,代码来源:StdKeyDeserializer.java


示例12: _resolveInnerClassValuedProperty

import com.fasterxml.jackson.databind.util.ClassUtil; //导入依赖的package包/类
protected SettableBeanProperty _resolveInnerClassValuedProperty(DeserializationContext paramDeserializationContext, SettableBeanProperty paramSettableBeanProperty)
{
  JsonDeserializer localJsonDeserializer = paramSettableBeanProperty.getValueDeserializer();
  if (((localJsonDeserializer instanceof BeanDeserializerBase)) && (!((BeanDeserializerBase)localJsonDeserializer).getValueInstantiator().canCreateUsingDefault()))
  {
    Class localClass1 = paramSettableBeanProperty.getType().getRawClass();
    Class localClass2 = ClassUtil.getOuterClass(localClass1);
    if ((localClass2 != null) && (localClass2 == this._beanType.getRawClass()))
      for (Constructor localConstructor : localClass1.getConstructors())
      {
        Class[] arrayOfClass = localConstructor.getParameterTypes();
        if ((arrayOfClass.length == 1) && (arrayOfClass[0] == localClass2))
        {
          if (paramDeserializationContext.getConfig().canOverrideAccessModifiers())
            ClassUtil.checkAndFixAccess(localConstructor);
          return new InnerClassProperty(paramSettableBeanProperty, localConstructor);
        }
      }
  }
  return paramSettableBeanProperty;
}
 
开发者ID:mmmsplay10,项目名称:QuizUpWinner,代码行数:22,代码来源:BeanDeserializerBase.java


示例13: typeFromId

import com.fasterxml.jackson.databind.util.ClassUtil; //导入依赖的package包/类
@Override
public JavaType typeFromId(String id)
{
/* 30-Jan-2010, tatu: Most ids are basic class names; so let's first
 *    check if any generics info is added; and only then ask factory
 *    to do translation when necessary
 */
    if (id.indexOf('<') > 0) {
        JavaType t = typeFactory.constructFromCanonical(id);
        // note: may want to try combining with specialization (esp for EnumMap)?
        return t;
    }
    try {
        Class<?> cls =  ClassUtil.findClass(id);
        return typeFactory.constructSpecializedType(baseType, cls);
    } catch (ClassNotFoundException ignored) {
        throw new IllegalArgumentException("Invalid type id '"+id+"' (for id type 'Id.class'): no such class found");
    } catch (Exception e) {
        throw new IllegalArgumentException("Invalid type id '"+id+"' (for id type 'Id.class'): "+e.getMessage(), e);
    }
}
 
开发者ID:ezoerner,项目名称:c-star-path-j,代码行数:22,代码来源:CustomTypeResolverBuilder.java


示例14: objectIdGeneratorInstance

import com.fasterxml.jackson.databind.util.ClassUtil; //导入依赖的package包/类
@Override
public ObjectIdGenerator<?> objectIdGeneratorInstance(Annotated annotated,
        ObjectIdInfo objectIdInfo)
    throws JsonMappingException
{
    Class<?> implClass = objectIdInfo.getGeneratorType();
    HandlerInstantiator hi = _config.getHandlerInstantiator();
    ObjectIdGenerator<?> gen;

    if (hi != null) {
        gen =  hi.objectIdGeneratorInstance(_config, annotated, implClass);
    } else {
        gen = (ObjectIdGenerator<?>) ClassUtil.createInstance(implClass,
                _config.canOverrideAccessModifiers());
    }
    return gen.forScope(objectIdInfo.getScope());
}
 
开发者ID:joyplus,项目名称:joyplus-tv,代码行数:18,代码来源:DefaultSerializerProvider.java


示例15: findSerializerByAnnotations

import com.fasterxml.jackson.databind.util.ClassUtil; //导入依赖的package包/类
/**
 * Method called to see if one of primary per-class annotations
 * (or related, like implementing of {@link JsonSerializable})
 * determines the serializer to use.
 *<p>
 * Currently handles things like:
 *<ul>
 * <li>If type implements {@link JsonSerializable}, use that
 *  </li>
 * <li>If type has {@link com.fasterxml.jackson.annotation.JsonValue} annotation (or equivalent), build serializer
 *    based on that property
 *  </li>
 *</ul>
 *
 * @since 2.0
 */
protected final JsonSerializer<?> findSerializerByAnnotations(SerializerProvider prov, 
        JavaType type, BeanDescription beanDesc)
    throws JsonMappingException
{
    Class<?> raw = type.getRawClass();
    // First: JsonSerializable?
    if (JsonSerializable.class.isAssignableFrom(raw)) {
        return SerializableSerializer.instance;
    }
    // Second: @JsonValue for any type
    AnnotatedMethod valueMethod = beanDesc.findJsonValueMethod();
    if (valueMethod != null) {
        Method m = valueMethod.getAnnotated();
        if (prov.canOverrideAccessModifiers()) {
            ClassUtil.checkAndFixAccess(m);
        }
        JsonSerializer<Object> ser = findSerializerFromAnnotation(prov, valueMethod);
        return new JsonValueSerializer(m, ser);
    }
    // No well-known annotations...
    return null;
}
 
开发者ID:joyplus,项目名称:joyplus-tv,代码行数:39,代码来源:BasicSerializerFactory.java


示例16: _addClassMixIns

import com.fasterxml.jackson.databind.util.ClassUtil; //导入依赖的package包/类
protected void _addClassMixIns(AnnotationMap annotations, Class<?> toMask,
                               Class<?> mixin)
{
    if (mixin == null) {
        return;
    }
    // Ok, first: annotations from mix-in class itself:
    _addAnnotationsIfNotPresent(annotations, mixin.getDeclaredAnnotations());

    /* And then from its supertypes, if any. But note that we will
     * only consider super-types up until reaching the masked
     * class (if found); this because often mix-in class
     * is a sub-class (for convenience reasons). And if so, we
     * absolutely must NOT include super types of masked class,
     * as that would inverse precedence of annotations.
     */
    for (Class<?> parent : ClassUtil.findSuperTypes(mixin, toMask)) {
        _addAnnotationsIfNotPresent(annotations, parent.getDeclaredAnnotations());
    }
}
 
开发者ID:joyplus,项目名称:joyplus-tv,代码行数:21,代码来源:AnnotatedClass.java


示例17: _addFieldMixIns

import com.fasterxml.jackson.databind.util.ClassUtil; //导入依赖的package包/类
/**
 * Method called to add field mix-ins from given mix-in class (and its fields)
 * into already collected actual fields (from introspected classes and their
 * super-classes)
 */
protected void _addFieldMixIns(Class<?> targetClass, Class<?> mixInCls,
        Map<String,AnnotatedField> fields)
{
    List<Class<?>> parents = new ArrayList<Class<?>>();
    parents.add(mixInCls);
    ClassUtil.findSuperTypes(mixInCls, targetClass, parents);
    for (Class<?> mixin : parents) {
        for (Field mixinField : mixin.getDeclaredFields()) {
            // there are some dummy things (static, synthetic); better ignore
            if (!_isIncludableField(mixinField)) {
                continue;
            }
            String name = mixinField.getName();
            // anything to mask? (if not, quietly ignore)
            AnnotatedField maskedField = fields.get(name);
            if (maskedField != null) {
                _addOrOverrideAnnotations(maskedField, mixinField.getDeclaredAnnotations());
            }
        }
    }
}
 
开发者ID:joyplus,项目名称:joyplus-tv,代码行数:27,代码来源:AnnotatedClass.java


示例18: constructEnumResolver

import com.fasterxml.jackson.databind.util.ClassUtil; //导入依赖的package包/类
protected EnumResolver<?> constructEnumResolver(Class<?> enumClass,
        DeserializationConfig config, AnnotatedMethod jsonValueMethod)
{
    if (jsonValueMethod != null) {
        Method accessor = jsonValueMethod.getAnnotated();
        if (config.canOverrideAccessModifiers()) {
            ClassUtil.checkAndFixAccess(accessor);
        }
        return EnumResolver.constructUnsafeUsingMethod(enumClass, accessor);
    }
    // [JACKSON-212]: may need to use Enum.toString()
    if (config.isEnabled(DeserializationFeature.READ_ENUMS_USING_TO_STRING)) {
        return EnumResolver.constructUnsafeUsingToString(enumClass);
    }
    return EnumResolver.constructUnsafe(enumClass, config.getAnnotationIntrospector());
}
 
开发者ID:joyplus,项目名称:joyplus-tv,代码行数:17,代码来源:BasicDeserializerFactory.java


示例19: deserialize

import com.fasterxml.jackson.databind.util.ClassUtil; //导入依赖的package包/类
@Override
public Class<?> deserialize(JsonParser jp, DeserializationContext ctxt)
    throws IOException, JsonProcessingException
{
    JsonToken curr = jp.getCurrentToken();
    // Currently will only accept if given simple class name
    if (curr == JsonToken.VALUE_STRING) {
        String className = jp.getText().trim();
        try {
            return ctxt.findClass(className);
        } catch (Exception e) {
            throw ctxt.instantiationException(_valueClass, ClassUtil.getRootCause(e));
        }
    }
    throw ctxt.mappingException(_valueClass, curr);
}
 
开发者ID:joyplus,项目名称:joyplus-tv,代码行数:17,代码来源:ClassDeserializer.java


示例20: deserializerForCreator

import com.fasterxml.jackson.databind.util.ClassUtil; //导入依赖的package包/类
/**
 * Factory method used when Enum instances are to be deserialized
 * using a creator (static factory method)
 * 
 * @return Deserializer based on given factory method, if type was suitable;
 *  null if type can not be used
 */
public static JsonDeserializer<?> deserializerForCreator(DeserializationConfig config,
        Class<?> enumClass, AnnotatedMethod factory)
{
    
    // note: caller has verified there's just one arg; but we must verify its type
    Class<?> paramClass = factory.getRawParameterType(0);
    if (paramClass == String.class) {
        paramClass = null;
    } else  if (paramClass == Integer.TYPE || paramClass == Integer.class) {
        paramClass = Integer.class;
    } else  if (paramClass == Long.TYPE || paramClass == Long.class) {
        paramClass = Long.class;
    } else {
        throw new IllegalArgumentException("Parameter #0 type for factory method ("+factory
                +") not suitable, must be java.lang.String or int/Integer/long/Long");
    }
    if (config.canOverrideAccessModifiers()) {
        ClassUtil.checkAndFixAccess(factory.getMember());
    }
    return new FactoryBasedDeserializer(enumClass, factory, paramClass);
}
 
开发者ID:joyplus,项目名称:joyplus-tv,代码行数:29,代码来源:EnumDeserializer.java



注:本文中的com.fasterxml.jackson.databind.util.ClassUtil类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java Acceptor类代码示例发布时间:2022-05-22
下一篇:
Java UserSensor类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap