_mixIns, rootNames, _configOverrides); _serializerProvider = src._serializerProvider.copy(); _deserializationContext = src._deserializationContext.copy();
@Override public DefaultDeserializationContext copy() { if (getClass() != Impl.class) { return super.copy(); } return new Impl(this); }
@Override public DefaultDeserializationContext copy() { if (getClass() != Impl.class) { return super.copy(); } return new Impl(this); }
@Override public DefaultDeserializationContext copy() { if (getClass() != Impl.class) { return super.copy(); } return new Impl(this); }
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); }
/** * Copy-constructor, mostly used to support {@link #copy}. * * @since 2.1 */ protected ObjectMapper(ObjectMapper src) { _jsonFactory = src._jsonFactory.copy(); _jsonFactory.setCodec(this); _subtypeResolver = src._subtypeResolver; _rootNames = new RootNameLookup(); _typeFactory = src._typeFactory; _injectableValues = src._injectableValues; HashMap<ClassKey,Class<?>> mixins = new HashMap<ClassKey,Class<?>>(src._mixInAnnotations); _mixInAnnotations = mixins; _serializationConfig = new SerializationConfig(src._serializationConfig, mixins); _deserializationConfig = new DeserializationConfig(src._deserializationConfig, mixins); _serializerProvider = src._serializerProvider.copy(); _deserializationContext = src._deserializationContext.copy(); // Default serializer factory is stateless, can just assign _serializerFactory = src._serializerFactory; }
/** * Copy-constructor, mostly used to support {@link #copy}. * * @since 2.1 */ protected ObjectMapper(ObjectMapper src) { _jsonFactory = src._jsonFactory.copy(); _jsonFactory.setCodec(this); _subtypeResolver = src._subtypeResolver; _rootNames = new RootNameLookup(); _typeFactory = src._typeFactory; _injectableValues = src._injectableValues; HashMap<ClassKey,Class<?>> mixins = new HashMap<ClassKey,Class<?>>(src._mixInAnnotations); _mixInAnnotations = mixins; _serializationConfig = new SerializationConfig(src._serializationConfig, mixins); _deserializationConfig = new DeserializationConfig(src._deserializationConfig, mixins); _serializerProvider = src._serializerProvider.copy(); _deserializationContext = src._deserializationContext.copy(); // Default serializer factory is stateless, can just assign _serializerFactory = src._serializerFactory; }
/** * Copy-constructor, mostly used to support {@link #copy}. * * @since 2.1 */ protected ObjectMapper(ObjectMapper src) { _jsonFactory = src._jsonFactory.copy(); _jsonFactory.setCodec(this); _subtypeResolver = src._subtypeResolver; _typeFactory = src._typeFactory; _injectableValues = src._injectableValues; _propertyOverrides = src._propertyOverrides.copy(); _mixIns = src._mixIns.copy(); RootNameLookup rootNames = new RootNameLookup(); _serializationConfig = new SerializationConfig(src._serializationConfig, _mixIns, rootNames, _propertyOverrides); _deserializationConfig = new DeserializationConfig(src._deserializationConfig, _mixIns, rootNames, _propertyOverrides); _serializerProvider = src._serializerProvider.copy(); _deserializationContext = src._deserializationContext.copy(); // Default serializer factory is stateless, can just assign _serializerFactory = src._serializerFactory; // as per [databind#922], [databind#1078] make sure to copy registered modules as appropriate Set<Object> reg = src._registeredModuleTypes; if (reg == null) { _registeredModuleTypes = null; } else { _registeredModuleTypes = new LinkedHashSet<Object>(reg); } }
_mixIns, rootNames, _configOverrides); _serializerProvider = src._serializerProvider.copy(); _deserializationContext = src._deserializationContext.copy();