/** * Method used by module registration functionality, to construct a new bean * deserializer factory * with different configuration settings. */ @Override public DeserializerFactory withConfig(DeserializerFactoryConfig config) { if (_factoryConfig == config) { return this; } /* 22-Nov-2010, tatu: Handling of subtypes is tricky if we do immutable-with-copy-ctor; * and we pretty much have to here either choose between losing subtype instance * when registering additional deserializers, or losing deserializers. * Instead, let's actually just throw an error if this method is called when subtype * has not properly overridden this method; this to indicate problem as soon as possible. */ if (getClass() != BeanDeserializerFactory.class) { throw new IllegalStateException("Subtype of BeanDeserializerFactory ("+getClass().getName() +") has not properly overridden method 'withAdditionalDeserializers': can not instantiate subtype with " +"additional deserializer definitions"); } return new BeanDeserializerFactory(config); }
public DeserializerFactory withConfig(DeserializerFactoryConfig paramDeserializerFactoryConfig) { if (this._factoryConfig == paramDeserializerFactoryConfig) return this; if (getClass() != BeanDeserializerFactory.class) throw new IllegalStateException("Subtype of BeanDeserializerFactory (" + getClass().getName() + ") has not properly overridden method 'withAdditionalDeserializers': can not instantiate subtype with additional deserializer definitions"); return new BeanDeserializerFactory(paramDeserializerFactoryConfig); }
private static DeserializerFactoryConfig getDeserializerFactoryConfig(ObjectMapper objectMapper) { return ((BasicDeserializerFactory) objectMapper.getDeserializationContext().getFactory()).getFactoryConfig(); }
/** * @param config */ public DefaultDeserializerFactory(DeserializerFactoryConfig config) { super(config); }
protected BasicDeserializerFactory(DeserializerFactoryConfig paramDeserializerFactoryConfig) { this._factoryConfig = paramDeserializerFactoryConfig; }
public DeserializerFactoryConfig getFactoryConfig() { return this._factoryConfig; }
public BeanDeserializerFactory(DeserializerFactoryConfig paramDeserializerFactoryConfig) { super(paramDeserializerFactoryConfig); }
private static final DeserializerFactoryConfig getDeserializerFactoryConfig(ObjectMapper objectMapper) { Object contextProp = new DirectFieldAccessor(objectMapper).getPropertyValue("_deserializationContext"); Object factoryProp = new DirectFieldAccessor(contextProp).getPropertyValue("_factory"); return (DeserializerFactoryConfig) new DirectFieldAccessor(factoryProp).getPropertyValue("_factoryConfig"); }
protected BasicDeserializerFactory(DeserializerFactoryConfig config) { _factoryConfig = config; }
public BeanDeserializerFactory(DeserializerFactoryConfig config) { super(config); }
/** * Method for getting current {@link DeserializerFactoryConfig}. *<p> * Note that since instances are immutable, you can NOT change settings * by accessing an instance and calling methods: this will simply create * new instance of config object. */ public DeserializerFactoryConfig getFactoryConfig() { return _factoryConfig; }
protected abstract DeserializerFactory withConfig(DeserializerFactoryConfig paramDeserializerFactoryConfig);
protected abstract DeserializerFactory withConfig(DeserializerFactoryConfig config);