/** * Overridable method that constructs a {@link BeanDeserializerBuilder} * which is used to accumulate information needed to create deserializer * instance. */ protected BeanDeserializerBuilder constructBeanDeserializerBuilder(DeserializationContext ctxt, BeanDescription beanDesc) { return new BeanDeserializerBuilder(beanDesc, ctxt); }
/** * Overridable method that constructs a {@link BeanDeserializerBuilder} * which is used to accumulate information needed to create deserializer * instance. */ protected BeanDeserializerBuilder constructBeanDeserializerBuilder(DeserializationContext ctxt, BeanDescription beanDesc) { return new BeanDeserializerBuilder(beanDesc, ctxt); }
/** * Overridable method that constructs a {@link BeanDeserializerBuilder} * which is used to accumulate information needed to create deserializer * instance. */ protected BeanDeserializerBuilder constructBeanDeserializerBuilder(DeserializationContext ctxt, BeanDescription beanDesc) { return new BeanDeserializerBuilder(beanDesc, ctxt.getConfig()); }
/** * Overridable method that constructs a {@link BeanDeserializerBuilder} * which is used to accumulate information needed to create deserializer * instance. */ protected BeanDeserializerBuilder constructBeanDeserializerBuilder(DeserializationContext ctxt, BeanDescription beanDesc) { return new BeanDeserializerBuilder(beanDesc, ctxt.getConfig()); }
/** * Overridable method that constructs a {@link BeanDeserializerBuilder} * which is used to accumulate information needed to create deserializer * instance. */ protected BeanDeserializerBuilder constructBeanDeserializerBuilder(DeserializationContext ctxt, BeanDescription beanDesc) { return new BeanDeserializerBuilder(beanDesc, ctxt.getConfig()); }
/** * Overridable method that constructs a {@link BeanDeserializerBuilder} * which is used to accumulate information needed to create deserializer * instance. */ protected BeanDeserializerBuilder constructBeanDeserializerBuilder(DeserializationContext ctxt, BeanDescription beanDesc) { return new BeanDeserializerBuilder(beanDesc, ctxt.getConfig()); }
/** * Overridable method that constructs a {@link BeanDeserializerBuilder} * which is used to accumulate information needed to create deserializer * instance. */ protected BeanDeserializerBuilder constructBeanDeserializerBuilder(DeserializationContext ctxt, BeanDescription beanDesc) { return new BeanDeserializerBuilder(beanDesc, ctxt.getConfig()); }
protected BuilderAndPropertyMap constructBeanDeserializerBuilder(JavaType type) { BeanDescription beanDesc = serializerProvider.getConfig().introspect(type); BeanDeserializerBuilder builder; CustomBeanDeserializerFactory factory = CustomBeanDeserializerFactory.instance; DeserializationContext ctxt = ((DefaultDeserializationContext) deserializationContext).copy(); try { Field field = DeserializationContext.class.getDeclaredField("_config"); field.setAccessible(true); field.set(ctxt, deserializationConfig); // copy from factory.buildBeanDeserializer() ValueInstantiator valueInstantiator = factory.findValueInstantiator(ctxt, beanDesc); builder = new BeanDeserializerBuilder(beanDesc, ctxt); builder.setValueInstantiator(valueInstantiator); factory.addBeanProps(ctxt, beanDesc, builder); factory.addObjectIdReader(ctxt, beanDesc, builder); factory.addBackReferenceProperties(ctxt, beanDesc, builder); factory.addInjectables(ctxt, beanDesc, builder); } catch (Exception e) { throw new RuntimeException("Unexpected exception", e); } List<SettableBeanProperty> properties = new ArrayList<>(); Iterator<SettableBeanProperty> propertiesIter = builder.getProperties(); while (propertiesIter.hasNext()) { properties.add(propertiesIter.next()); } BeanPropertyMap propertyMap = new BeanPropertyMap(false, properties, Collections.<String, List<PropertyName>>emptyMap()); return new BuilderAndPropertyMap(builder, propertyMap, beanDesc); }