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

项目: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    文件:BeanDeserializerBase.java   
public BeanDeserializerBase(BeanDeserializerBase paramBeanDeserializerBase, ObjectIdReader paramObjectIdReader)
{
  super(paramBeanDeserializerBase._beanType);
  this._classAnnotations = paramBeanDeserializerBase._classAnnotations;
  this._beanType = paramBeanDeserializerBase._beanType;
  this._valueInstantiator = paramBeanDeserializerBase._valueInstantiator;
  this._delegateDeserializer = paramBeanDeserializerBase._delegateDeserializer;
  this._propertyBasedCreator = paramBeanDeserializerBase._propertyBasedCreator;
  this._backRefs = paramBeanDeserializerBase._backRefs;
  this._ignorableProps = paramBeanDeserializerBase._ignorableProps;
  this._ignoreAllUnknown = paramBeanDeserializerBase._ignoreAllUnknown;
  this._anySetter = paramBeanDeserializerBase._anySetter;
  this._injectables = paramBeanDeserializerBase._injectables;
  this._nonStandardCreation = paramBeanDeserializerBase._nonStandardCreation;
  this._unwrappedPropertyHandler = paramBeanDeserializerBase._unwrappedPropertyHandler;
  this._needViewProcesing = paramBeanDeserializerBase._needViewProcesing;
  this._serializationShape = paramBeanDeserializerBase._serializationShape;
  this._vanillaProcessing = paramBeanDeserializerBase._vanillaProcessing;
  this._objectIdReader = paramObjectIdReader;
  if (paramObjectIdReader == null)
  {
    this._beanProperties = paramBeanDeserializerBase._beanProperties;
    return;
  }
  ObjectIdValueProperty localObjectIdValueProperty = new ObjectIdValueProperty(paramObjectIdReader, true);
  this._beanProperties = paramBeanDeserializerBase._beanProperties.withProperty(localObjectIdValueProperty);
}
项目:joyplus-tv    文件:BeanDeserializerFactory.java   
protected void addObjectIdReader(DeserializationContext ctxt,
        BeanDescription beanDesc, BeanDeserializerBuilder builder)
    throws JsonMappingException
{
    ObjectIdInfo objectIdInfo = beanDesc.getObjectIdInfo();
    if (objectIdInfo == null) {
        return;
    }
    Class<?> implClass = objectIdInfo.getGeneratorType();
    JavaType idType;
    SettableBeanProperty idProp;
    ObjectIdGenerator<?> gen;

    // Just one special case: Property-based generator is trickier
    if (implClass == ObjectIdGenerators.PropertyGenerator.class) { // most special one, needs extra work
        String propName = objectIdInfo.getPropertyName();
        idProp = builder.findProperty(propName);
        if (idProp == null) {
            throw new IllegalArgumentException("Invalid Object Id definition for "
                    +beanDesc.getBeanClass().getName()+": can not find property with name '"+propName+"'");
        }
        idType = idProp.getType();
        gen = new PropertyBasedObjectIdGenerator(objectIdInfo.getScope());
    } else {
        JavaType type = ctxt.constructType(implClass);
        idType = ctxt.getTypeFactory().findTypeParameters(type, ObjectIdGenerator.class)[0];
        idProp = null;
        gen = ctxt.objectIdGeneratorInstance(beanDesc.getClassInfo(), objectIdInfo);
    }
    // also: unlike with value deserializers, let's just resolve one we need here
    JsonDeserializer<?> deser = ctxt.findRootValueDeserializer(idType);
    builder.setObjectIdReader(ObjectIdReader.construct(idType,
            objectIdInfo.getPropertyName(), gen, deser, idProp));
}
项目:gvnix1    文件:DataBinderDeserializer.java   
public DataBinderDeserializer(BeanDeserializerBase source,
        ObjectIdReader objectIdReader) {
    super(source, objectIdReader);
}
项目:requery    文件:EntityBeanDeserializer.java   
EntityBeanDeserializer(BeanDeserializerBase source, ObjectIdReader reader) {
    super(source, reader);
}
项目:QuizUpWinner    文件:JsonDeserializer.java   
public ObjectIdReader getObjectIdReader()
{
  return null;
}
项目:QuizUpWinner    文件:BeanDeserializer.java   
public BeanDeserializer(BeanDeserializerBase paramBeanDeserializerBase, ObjectIdReader paramObjectIdReader)
{
  super(paramBeanDeserializerBase, paramObjectIdReader);
}
项目:QuizUpWinner    文件:BeanDeserializer.java   
public BeanDeserializer withObjectIdReader(ObjectIdReader paramObjectIdReader)
{
  return new BeanDeserializer(this, paramObjectIdReader);
}
项目:QuizUpWinner    文件:DelegatingDeserializer.java   
public ObjectIdReader getObjectIdReader()
{
  return this._delegatee.getObjectIdReader();
}
项目:QuizUpWinner    文件:AbstractDeserializer.java   
public ObjectIdReader getObjectIdReader()
{
  return this._objectIdReader;
}
项目:QuizUpWinner    文件:BuilderBasedDeserializer.java   
public BuilderBasedDeserializer(BuilderBasedDeserializer paramBuilderBasedDeserializer, ObjectIdReader paramObjectIdReader)
{
  super(paramBuilderBasedDeserializer, paramObjectIdReader);
  this._buildMethod = paramBuilderBasedDeserializer._buildMethod;
}
项目:QuizUpWinner    文件:BuilderBasedDeserializer.java   
public BuilderBasedDeserializer withObjectIdReader(ObjectIdReader paramObjectIdReader)
{
  return new BuilderBasedDeserializer(this, paramObjectIdReader);
}
项目:QuizUpWinner    文件:BeanDeserializerBuilder.java   
public ObjectIdReader getObjectIdReader()
{
  return this._objectIdReader;
}
项目:QuizUpWinner    文件:BeanDeserializerBuilder.java   
public void setObjectIdReader(ObjectIdReader paramObjectIdReader)
{
  this._objectIdReader = paramObjectIdReader;
}
项目: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    文件:BeanDeserializerBase.java   
public ObjectIdReader getObjectIdReader()
{
  return this._objectIdReader;
}
项目:joyplus-tv    文件:DelegatingDeserializer.java   
@Override
public ObjectIdReader getObjectIdReader() { return _delegatee.getObjectIdReader(); }
项目:joyplus-tv    文件:BeanDeserializerBuilder.java   
public void setObjectIdReader(ObjectIdReader r) {
    _objectIdReader = r;
}
项目:joyplus-tv    文件:BeanDeserializerBuilder.java   
public ObjectIdReader getObjectIdReader() {
    return _objectIdReader;
}
项目:gvnix    文件:DataBinderDeserializer.java   
public DataBinderDeserializer(BeanDeserializerBase source,
        ObjectIdReader objectIdReader) {
    super(source, objectIdReader);
}
项目:gvnix1    文件:DataBinderDeserializer.java   
/**
 * {@inheritDoc}
 * 
 * Uses {@link DataBinderDeserializer}
 */
@Override
public BeanDeserializerBase withObjectIdReader(ObjectIdReader objectIdReader) {
    return new DataBinderDeserializer(this, objectIdReader);
}
项目:joyplus-tv    文件:JsonDeserializer.java   
/**
 * Accessor that can be used to check whether this deserializer
 * is expecting to possibly get an Object Identifier value instead of full value
 * serialization, and if so, should be able to resolve it to actual
 * Object instance to return as deserialized value.
 *<p>
 * Default implementation returns null, as support can not be implemented
 * generically. Some standard deserializers (most notably
 * {@link com.fasterxml.jackson.databind.deser.BeanDeserializer})
 * do implement this feature, and may return reader instance, depending on exact
 * configuration of instance (which is based on type, and referring property).
 * 
 * @return ObjectIdReader used for resolving possible Object Identifier
 *    value, instead of full value serialization, if deserializer can do that;
 *    null if no Object Id is expected.
 * 
 * @since 2.0
 */
public ObjectIdReader getObjectIdReader() { return null; }
项目:joyplus-tv    文件:AbstractDeserializer.java   
/**
 * Overridden to return true for those instances that are
 * handling value for which Object Identity handling is enabled
 * (either via value type or referring property).
 */
@Override
public ObjectIdReader getObjectIdReader() {
    return _objectIdReader;
}
项目:gvnix    文件:DataBinderDeserializer.java   
/**
 * {@inheritDoc}
 * 
 * Uses {@link DataBinderDeserializer}
 */
@Override
public BeanDeserializerBase withObjectIdReader(ObjectIdReader objectIdReader) {
    return new DataBinderDeserializer(this, objectIdReader);
}
项目:QuizUpWinner    文件:BeanDeserializerBase.java   
public abstract BeanDeserializerBase withObjectIdReader(ObjectIdReader paramObjectIdReader);