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();