@Override public JsonDeserializer<?> modifyDeserializer(DeserializationConfig config, BeanDescription beanDesc, JsonDeserializer<?> deserializer) { if (deserializer instanceof BeanDeserializer) { BeanDeserializer beanDeserializer = (BeanDeserializer) deserializer; return new EntityBeanDeserializer(beanDeserializer, deserializer.getObjectIdReader()); } return super.modifyDeserializer(config, beanDesc, deserializer); }
/** * Method called by {@link BeanDeserializerFactory} to see if there might be a standard * deserializer registered for given type. */ protected JsonDeserializer<?> findStdDeserializer(DeserializationContext ctxt, JavaType type, BeanDescription beanDesc) throws JsonMappingException { // note: we do NOT check for custom deserializers here, caller has already // done that JsonDeserializer<?> deser = findDefaultDeserializer(ctxt, type, beanDesc); // Also: better ensure these are post-processable? if (deser != null) { if (_factoryConfig.hasDeserializerModifiers()) { for (BeanDeserializerModifier mod : _factoryConfig.deserializerModifiers()) { deser = mod.modifyDeserializer(ctxt.getConfig(), beanDesc, deser); } } } return deser; }
deserializer = mod.modifyDeserializer(config, beanDesc, deserializer);
deserializer = mod.modifyDeserializer(config, beanDesc, deserializer);
deserializer = mod.modifyDeserializer(config, builderDesc, deserializer);
@Override public JsonDeserializer<?> modifyDeserializer(DeserializationConfig config, BeanDescription beanDesc, JsonDeserializer<?> deserializer) { // Jackson wants to use its default bean deserializer for subtypes of Enumerable. // We must prevent that; return the deserializer for Enumerables instead. return isEnumerableSubtype(beanDesc) ? EnumerableModule.this.deserializer : super.modifyDeserializer(config, beanDesc, deserializer); } });
@Override public JsonDeserializer<?> modifyDeserializer(DeserializationConfig config, BeanDescription beanDesc, JsonDeserializer<?> deserializer) { return new ContextualLocationDeserializerWrapper(locations, super.modifyDeserializer(config, beanDesc, deserializer)); }
@Override public JsonDeserializer<?> modifyDeserializer(DeserializationConfig config, BeanDescription beanDesc, JsonDeserializer<?> deserializer) { return new ContextualLocationDeserializerWrapper(locations, super.modifyDeserializer(config, beanDesc, deserializer)); }
@Override public JsonDeserializer<?> modifyDeserializer(DeserializationConfig config, BeanDescription beanDesc, JsonDeserializer<?> deserializer) { if (Metric.class.equals(beanDesc.getBeanClass())) { return new MetricDeserializer(deserializer); } return super.modifyDeserializer(config, beanDesc, deserializer); }
@Override public JsonDeserializer<?> modifyDeserializer( DeserializationConfig config, BeanDescription beanDesc, final JsonDeserializer<?> deserializer) { if (AbstractEntity.class.isAssignableFrom(beanDesc.getBeanClass())) { Class<? extends AbstractEntity> entityClass = (Class<? extends AbstractEntity>) beanDesc.getBeanClass(); BeanDeserializer defaultDeserializer = (BeanDeserializer) deserializer; return new EntityDeserializer(entityClass, defaultDeserializer, dao); } else { return super.modifyDeserializer(config, beanDesc, deserializer); } }
@Override public JsonDeserializer<?> modifyDeserializer(DeserializationConfig config, BeanDescription beanDesc, JsonDeserializer<?> deserializer) { if (deserializer instanceof BeanDeserializer) { List<ConstructibleAnnotatedCollection> fields = collectFields(config, beanDesc); if (!fields.isEmpty()) { return new BackReferencedBeanDeserializer( (BeanDeserializer) deserializer, fields, db, beanDesc .getType().getRawClass()); } } return super.modifyDeserializer(config, beanDesc, deserializer); }
@Override public JsonDeserializer<?> modifyDeserializer( DeserializationConfig config, BeanDescription beanDesc, JsonDeserializer<?> deserializer ) { if (InterledgerCondition.class.isAssignableFrom(beanDesc.getType().getRawClass())) { return new ConditionDeserializer(encoding); } else if (InterledgerFulfillment.class .isAssignableFrom(beanDesc.getType().getRawClass())) { return new FulfillmentDeserializer(encoding); } else { return super.modifyDeserializer(config, beanDesc, deserializer); } } });
/** * Method called by {@link BeanDeserializerFactory} to see if there might be a standard * deserializer registered for given type. */ protected JsonDeserializer<?> findStdDeserializer(DeserializationContext ctxt, JavaType type, BeanDescription beanDesc) throws JsonMappingException { // note: we do NOT check for custom deserializers here, caller has already // done that JsonDeserializer<?> deser = findDefaultDeserializer(ctxt, type, beanDesc); // Also: better ensure these are post-processable? if (deser != null) { if (_factoryConfig.hasDeserializerModifiers()) { for (BeanDeserializerModifier mod : _factoryConfig.deserializerModifiers()) { deser = mod.modifyDeserializer(ctxt.getConfig(), beanDesc, deser); } } } return deser; }
/** * Method called by {@link BeanDeserializerFactory} to see if there might be a standard * deserializer registered for given type. */ protected JsonDeserializer<?> findStdDeserializer(DeserializationContext ctxt, JavaType type, BeanDescription beanDesc) throws JsonMappingException { // note: we do NOT check for custom deserializers here, caller has already // done that JsonDeserializer<?> deser = findDefaultDeserializer(ctxt, type, beanDesc); // Also: better ensure these are post-processable? if (deser != null) { if (_factoryConfig.hasDeserializerModifiers()) { for (BeanDeserializerModifier mod : _factoryConfig.deserializerModifiers()) { deser = mod.modifyDeserializer(ctxt.getConfig(), beanDesc, deser); } } } return deser; }
/** * Method called by {@link BeanDeserializerFactory} to see if there might be a standard * deserializer registered for given type. */ protected JsonDeserializer<?> findStdDeserializer(DeserializationContext ctxt, JavaType type, BeanDescription beanDesc) throws JsonMappingException { // note: we do NOT check for custom deserializers here, caller has already // done that JsonDeserializer<?> deser = findDefaultDeserializer(ctxt, type, beanDesc); // Also: better ensure these are post-processable? if (deser != null) { if (_factoryConfig.hasDeserializerModifiers()) { for (BeanDeserializerModifier mod : _factoryConfig.deserializerModifiers()) { deser = mod.modifyDeserializer(ctxt.getConfig(), beanDesc, deser); } } } return deser; }
/** * Method called by {@link BeanDeserializerFactory} to see if there might be a standard * deserializer registered for given type. */ protected JsonDeserializer<?> findStdDeserializer(DeserializationContext ctxt, JavaType type, BeanDescription beanDesc) throws JsonMappingException { // note: we do NOT check for custom deserializers here, caller has already // done that JsonDeserializer<?> deser = findDefaultDeserializer(ctxt, type, beanDesc); // Also: better ensure these are post-processable? if (deser != null) { if (_factoryConfig.hasDeserializerModifiers()) { for (BeanDeserializerModifier mod : _factoryConfig.deserializerModifiers()) { deser = mod.modifyDeserializer(ctxt.getConfig(), beanDesc, deser); } } } return deser; }
@Override public JsonDeserializer<?> modifyDeserializer(DeserializationConfig config, BeanDescription beanDesc, JsonDeserializer<?> deserializer) { // We don't use the @JsonDeserialize annotation since we only want the // custom deserializer for the abstract type and not for the actual types. if (Service.class == beanDesc.getBeanClass()) { return new ServiceDeserializer(); } else if (Resource.class == beanDesc.getBeanClass()) { return new ResourceDeserializer(); } else if (Profile.class == beanDesc.getBeanClass()) { return new ProfileDeserializer((JsonDeserializer<Object>) deserializer); } return super.modifyDeserializer(config, beanDesc, deserializer); } }
deserializer = mod.modifyDeserializer(config, beanDesc, deserializer);
deserializer = mod.modifyDeserializer(config, beanDesc, deserializer);
deserializer = mod.modifyDeserializer(config, beanDesc, deserializer);