Java 类com.fasterxml.jackson.databind.introspect.ObjectIdInfo 实例源码

项目:factoryfx    文件:HttpServer.java   
ObjectMapper getObjectMapper() {
        ObjectMapper objectMapper = ObjectMapperBuilder.buildNewObjectMapper();
//        objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
        SimpleModule module = new SimpleModule();
        module.addSerializer(BigDecimal.class, new ToStringSerializer());
        module.addSerializer(Long.class, new ToStringSerializer());
        objectMapper.registerModule(module);

        //Disable JsonIdentityInfo
        JacksonAnnotationIntrospector ignoreJsonTypeInfoIntrospector = new JacksonAnnotationIntrospector() {
            @Override
            public ObjectIdInfo findObjectIdInfo(Annotated ann) {
                return null;
            }
        };
        objectMapper.setAnnotationIntrospector(ignoreJsonTypeInfoIntrospector);

        return objectMapper;
    }
项目:joyplus-tv    文件:DefaultSerializerProvider.java   
@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());
}
项目:joyplus-tv    文件:DefaultDeserializationContext.java   
@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());
}
项目:requery    文件:EntityAnnotationIntrospector.java   
@Override
public ObjectIdInfo findObjectIdInfo(Annotated annotated) {
    Class<?> rawClass = annotated.getType().getRawClass();
    for (Type<?> type : model.getTypes()) {
        if (type.getClassType() == rawClass && type.getSingleKeyAttribute() != null) {
            Attribute<?, ?> attribute = type.getSingleKeyAttribute();
            String name = removePrefix(attribute.getPropertyName());
            if (useTableNames) {
                name = attribute.getName();
            }

            // if the name is overridden use that
            Class<?> superClass = rawClass.getSuperclass();
            while (superClass != Object.class && superClass != null) {
                try {
                    Field field = superClass.getDeclaredField(attribute.getPropertyName());
                    JsonProperty jsonProperty = field.getAnnotation(JsonProperty.class);
                    if (jsonProperty != null) {
                        name = jsonProperty.value();
                        break;
                    }
                } catch (NoSuchFieldException ignored) {
                }
                superClass = superClass.getSuperclass();
            }

            return new ObjectIdInfo(new PropertyName(name), rawClass,
                    ObjectIdGenerators.PropertyGenerator.class,
                    EntityStoreResolver.class);
        }
    }
    return super.findObjectIdInfo(annotated);
}
项目:QuizUpWinner    文件:BeanSerializerFactory.java   
protected ObjectIdWriter constructObjectIdHandler(SerializerProvider paramSerializerProvider, BeanDescription paramBeanDescription, List<BeanPropertyWriter> paramList)
{
  ObjectIdInfo localObjectIdInfo = paramBeanDescription.getObjectIdInfo();
  if (localObjectIdInfo == null)
    return null;
  Class localClass = localObjectIdInfo.getGeneratorType();
  if (localClass == ObjectIdGenerators.PropertyGenerator.class)
  {
    String str = localObjectIdInfo.getPropertyName();
    int i = 0;
    int j = paramList.size();
    BeanPropertyWriter localBeanPropertyWriter;
    while (true)
    {
      if (i == j)
        throw new IllegalArgumentException("Invalid Object Id definition for " + paramBeanDescription.getBeanClass().getName() + ": can not find property with name '" + str + "'");
      localBeanPropertyWriter = (BeanPropertyWriter)paramList.get(i);
      if (str.equals(localBeanPropertyWriter.getName()))
      {
        if (i <= 0)
          break;
        paramList.remove(i);
        paramList.add(0, localBeanPropertyWriter);
        break;
      }
      i++;
    }
    return ObjectIdWriter.construct(localBeanPropertyWriter.getType(), null, new PropertyBasedObjectIdGenerator(localObjectIdInfo, localBeanPropertyWriter), localObjectIdInfo.getAlwaysAsId());
  }
  JavaType localJavaType1 = paramSerializerProvider.constructType(localClass);
  JavaType localJavaType2 = paramSerializerProvider.getTypeFactory().findTypeParameters(localJavaType1, ObjectIdGenerator.class)[0];
  ObjectIdGenerator localObjectIdGenerator = paramSerializerProvider.objectIdGeneratorInstance(paramBeanDescription.getClassInfo(), localObjectIdInfo);
  return ObjectIdWriter.construct(localJavaType2, localObjectIdInfo.getPropertyName(), localObjectIdGenerator, localObjectIdInfo.getAlwaysAsId());
}
项目:QuizUpWinner    文件:BeanDeserializerFactory.java   
protected void addObjectIdReader(DeserializationContext paramDeserializationContext, BeanDescription paramBeanDescription, BeanDeserializerBuilder paramBeanDeserializerBuilder)
{
  ObjectIdInfo localObjectIdInfo = paramBeanDescription.getObjectIdInfo();
  if (localObjectIdInfo == null)
    return;
  Class localClass = localObjectIdInfo.getGeneratorType();
  SettableBeanProperty localSettableBeanProperty1;
  JavaType localJavaType2;
  Object localObject;
  if (localClass == ObjectIdGenerators.PropertyGenerator.class)
  {
    String str = localObjectIdInfo.getPropertyName();
    SettableBeanProperty localSettableBeanProperty2 = paramBeanDeserializerBuilder.findProperty(str);
    localSettableBeanProperty1 = localSettableBeanProperty2;
    if (localSettableBeanProperty2 == null)
      throw new IllegalArgumentException("Invalid Object Id definition for " + paramBeanDescription.getBeanClass().getName() + ": can not find property with name '" + str + "'");
    localJavaType2 = localSettableBeanProperty1.getType();
    localObject = new PropertyBasedObjectIdGenerator(localObjectIdInfo.getScope());
  }
  else
  {
    JavaType localJavaType1 = paramDeserializationContext.constructType(localClass);
    localJavaType2 = paramDeserializationContext.getTypeFactory().findTypeParameters(localJavaType1, ObjectIdGenerator.class)[0];
    localSettableBeanProperty1 = null;
    localObject = paramDeserializationContext.objectIdGeneratorInstance(paramBeanDescription.getClassInfo(), localObjectIdInfo);
  }
  JsonDeserializer localJsonDeserializer = paramDeserializationContext.findRootValueDeserializer(localJavaType2);
  paramBeanDeserializerBuilder.setObjectIdReader(ObjectIdReader.construct(localJavaType2, localObjectIdInfo.getPropertyName(), (ObjectIdGenerator)localObject, localJsonDeserializer, localSettableBeanProperty1));
}
项目:QuizUpWinner    文件:PropertyBasedObjectIdGenerator.java   
public PropertyBasedObjectIdGenerator(ObjectIdInfo paramObjectIdInfo, BeanPropertyWriter paramBeanPropertyWriter)
{
  this(paramObjectIdInfo.getScope(), paramBeanPropertyWriter);
}
项目:QuizUpWinner    文件:BeanDeserializerBase.java   
public JsonDeserializer<?> createContextual(DeserializationContext paramDeserializationContext, BeanProperty paramBeanProperty)
{
  ObjectIdReader localObjectIdReader = this._objectIdReader;
  AnnotationIntrospector localAnnotationIntrospector = paramDeserializationContext.getAnnotationIntrospector();
  AnnotatedMember localAnnotatedMember;
  if ((paramBeanProperty == null) || (localAnnotationIntrospector == null))
    localAnnotatedMember = null;
  else
    localAnnotatedMember = paramBeanProperty.getMember();
  String[] arrayOfString = null;
  if (paramBeanProperty != null)
  {
    arrayOfString = null;
    if (localAnnotationIntrospector != null)
    {
      arrayOfString = localAnnotationIntrospector.findPropertiesToIgnore(localAnnotatedMember);
      ObjectIdInfo localObjectIdInfo1 = localAnnotationIntrospector.findObjectIdInfo(localAnnotatedMember);
      if (localObjectIdInfo1 != null)
      {
        ObjectIdInfo localObjectIdInfo2 = localAnnotationIntrospector.findObjectReferenceInfo(localAnnotatedMember, localObjectIdInfo1);
        Class localClass = localObjectIdInfo2.getGeneratorType();
        SettableBeanProperty localSettableBeanProperty1;
        JavaType localJavaType2;
        Object localObject;
        if (localClass == ObjectIdGenerators.PropertyGenerator.class)
        {
          String str = localObjectIdInfo2.getPropertyName();
          SettableBeanProperty localSettableBeanProperty2 = findProperty(str);
          localSettableBeanProperty1 = localSettableBeanProperty2;
          if (localSettableBeanProperty2 == null)
            throw new IllegalArgumentException("Invalid Object Id definition for " + getBeanClass().getName() + ": can not find property with name '" + str + "'");
          localJavaType2 = localSettableBeanProperty1.getType();
          localObject = new PropertyBasedObjectIdGenerator(localObjectIdInfo2.getScope());
        }
        else
        {
          JavaType localJavaType1 = paramDeserializationContext.constructType(localClass);
          localJavaType2 = paramDeserializationContext.getTypeFactory().findTypeParameters(localJavaType1, ObjectIdGenerator.class)[0];
          localSettableBeanProperty1 = null;
          localObject = paramDeserializationContext.objectIdGeneratorInstance(localAnnotatedMember, localObjectIdInfo2);
        }
        JsonDeserializer localJsonDeserializer = paramDeserializationContext.findRootValueDeserializer(localJavaType2);
        localObjectIdReader = ObjectIdReader.construct(localJavaType2, localObjectIdInfo2.getPropertyName(), (ObjectIdGenerator)localObject, localJsonDeserializer, localSettableBeanProperty1);
      }
    }
  }
  BeanDeserializerBase localBeanDeserializerBase = this;
  if ((localObjectIdReader != null) && (localObjectIdReader != this._objectIdReader))
    localBeanDeserializerBase = localBeanDeserializerBase.withObjectIdReader(localObjectIdReader);
  if ((arrayOfString != null) && (arrayOfString.length != 0))
    localBeanDeserializerBase = localBeanDeserializerBase.withIgnorableProperties(ArrayBuilders.setAndArray(localBeanDeserializerBase._ignorableProps, arrayOfString));
  JsonFormat.Shape localShape = null;
  if (localAnnotatedMember != null)
  {
    JsonFormat.Value localValue = localAnnotationIntrospector.findFormat(localAnnotatedMember);
    localShape = null;
    if (localValue != null)
      localShape = localValue.getShape();
  }
  if (localShape == null)
    localShape = this._serializationShape;
  if (localShape == JsonFormat.Shape.ARRAY)
    localBeanDeserializerBase = localBeanDeserializerBase.asArrayDeserializer();
  return localBeanDeserializerBase;
}
项目:QuizUpWinner    文件:AnnotationIntrospector.java   
public ObjectIdInfo findObjectIdInfo(Annotated paramAnnotated)
{
  return null;
}
项目:QuizUpWinner    文件:AnnotationIntrospector.java   
public ObjectIdInfo findObjectReferenceInfo(Annotated paramAnnotated, ObjectIdInfo paramObjectIdInfo)
{
  return paramObjectIdInfo;
}
项目:joyplus-tv    文件:PropertyBasedObjectIdGenerator.java   
public PropertyBasedObjectIdGenerator(ObjectIdInfo oid, BeanPropertyWriter prop)
{
    this(oid.getScope(), prop);
}
项目:joyplus-tv    文件:SerializerProvider.java   
public abstract ObjectIdGenerator<?> objectIdGeneratorInstance(Annotated annotated,
    ObjectIdInfo objectIdInfo)
throws JsonMappingException;
项目:joyplus-tv    文件:DeserializationContext.java   
public abstract ObjectIdGenerator<?> objectIdGeneratorInstance(Annotated annotated,
    ObjectIdInfo objectIdInfo)
throws JsonMappingException;
项目:QuizUpWinner    文件:BeanDescription.java   
public abstract ObjectIdInfo getObjectIdInfo();