/** * @deprecated since 2.8 call <code>findJsonValueMethod</code> on {@link BeanDescription} instead */ @Deprecated // not used, possibly remove as early as 2.9 protected AnnotatedMethod _findJsonValueFor(DeserializationConfig config, JavaType enumType) { if (enumType == null) { return null; } BeanDescription beanDesc = config.introspect(enumType); return beanDesc.findJsonValueMethod(); } }
type = factory.mapAbstractType(config, type); BeanDescription beanDesc = config.introspect(type); if (newType != type) { type = newType; beanDesc = config.introspect(newType); beanDesc = config.introspect(delegateType);
Class<?> enumClass = type.getRawClass(); BeanDescription beanDesc = config.introspect(type);
public static KeyDeserializer findStringBasedKeyDeserializer(DeserializationConfig config, JavaType type) { /* We don't need full deserialization information, just need to * know creators. */ BeanDescription beanDesc = config.introspect(type); // Ok, so: can we find T(String) constructor? Constructor<?> ctor = beanDesc.findSingleArgConstructor(String.class); if (ctor != null) { if (config.canOverrideAccessModifiers()) { ClassUtil.checkAndFixAccess(ctor, config.isEnabled(MapperFeature.OVERRIDE_PUBLIC_ACCESS_MODIFIERS)); } return new StdKeyDeserializer.StringCtorKeyDeserializer(ctor); } /* or if not, "static T valueOf(String)" (or equivalent marked * with @JsonCreator annotation?) */ Method m = beanDesc.findFactoryMethod(String.class); if (m != null){ if (config.canOverrideAccessModifiers()) { ClassUtil.checkAndFixAccess(m, config.isEnabled(MapperFeature.OVERRIDE_PUBLIC_ACCESS_MODIFIERS)); } return new StdKeyDeserializer.StringFactoryKeyDeserializer(m); } // nope, no such luck... return null; }
final BeanDescription beanDesc = _mapper.getDeserializationConfig().introspect(type); List<BeanPropertyDefinition> properties = beanDesc.findProperties(); for (BeanPropertyDefinition prop : properties) {
beanDesc = config.introspect(concreteType); return buildBeanDeserializer(ctxt, concreteType, beanDesc);
final BeanDescription deserBeanDesc = _mapper.getDeserializationConfig().introspect(type); List<BeanPropertyDefinition> deserProperties = deserBeanDesc.findProperties(); for (BeanPropertyDefinition prop : deserProperties) {
/** * Creates a new {@link JacksonMetadata} instance for the given {@link ObjectMapper} and type. * * @param mapper must not be {@literal null}. * @param type must not be {@literal null}. */ public JacksonMetadata(ObjectMapper mapper, Class<?> type) { Assert.notNull(mapper, "ObjectMapper must not be null!"); Assert.notNull(type, "Type must not be null!"); this.mapper = mapper; SerializationConfig serializationConfig = mapper.getSerializationConfig(); JavaType javaType = serializationConfig.constructType(type); BeanDescription description = serializationConfig.introspect(javaType); this.definitions = description.findProperties(); this.isValue = description.findJsonValueMethod() != null; DeserializationConfig deserializationConfig = mapper.getDeserializationConfig(); JavaType deserializationType = deserializationConfig.constructType(type); this.deserializationDefinitions = deserializationConfig.introspect(deserializationType).findProperties(); }
protected AnnotatedMethod _findJsonValueFor(DeserializationConfig config, JavaType enumType) { if (enumType == null) { return null; } BeanDescription beanDesc = config.introspect(enumType); return beanDesc.findJsonValueMethod(); } }
protected AnnotatedMethod _findJsonValueFor(DeserializationConfig config, JavaType enumType) { if (enumType == null) { return null; } BeanDescription beanDesc = config.introspect(enumType); return beanDesc.findJsonValueMethod(); } }
protected AnnotatedMethod _findJsonValueFor(DeserializationConfig config, JavaType enumType) { if (enumType == null) { return null; } BeanDescription beanDesc = config.introspect(enumType); return beanDesc.findJsonValueMethod(); } }
protected AnnotatedMethod _findJsonValueFor(DeserializationConfig config, JavaType enumType) { if (enumType == null) { return null; } BeanDescription beanDesc = config.introspect(enumType); return beanDesc.findJsonValueMethod(); } }
/** * @deprecated since 2.8 call <code>findJsonValueMethod</code> on {@link BeanDescription} instead */ @Deprecated // not used, possibly remove as early as 2.9 protected AnnotatedMethod _findJsonValueFor(DeserializationConfig config, JavaType enumType) { if (enumType == null) { return null; } BeanDescription beanDesc = config.introspect(enumType); return beanDesc.findJsonValueMethod(); } }
/** * @deprecated since 2.8 call <code>findJsonValueMethod</code> on {@link BeanDescription} instead */ @Deprecated // not used, possibly remove as early as 2.9 protected AnnotatedMethod _findJsonValueFor(DeserializationConfig config, JavaType enumType) { if (enumType == null) { return null; } BeanDescription beanDesc = config.introspect(enumType); return beanDesc.findJsonValueMethod(); } }
@Override public Set<InputField> getInputFields(InputFieldBuilderParams params) { JavaType javaType = objectMapper.getTypeFactory().constructType(params.getType().getType()); BeanDescription desc = objectMapper.getDeserializationConfig().introspect(javaType); return desc.findProperties().stream() .filter(BeanPropertyDefinition::couldDeserialize) .flatMap(prop -> toInputField(params.getType(), prop, params.getEnvironment())) .collect(Collectors.toSet()); }
private BeanDescription beanDescription(ResolvedType type, ModelContext context) { if (context.isReturnType()) { SerializationConfig serializationConfig = objectMapper.getSerializationConfig(); return serializationConfig.introspect(TypeFactory.defaultInstance() .constructType(type.getErasedType())); } else { DeserializationConfig serializationConfig = objectMapper.getDeserializationConfig(); return serializationConfig.introspect(TypeFactory.defaultInstance() .constructType(type.getErasedType())); } }
private BeanDescription beanDescription(ResolvedType type, ModelContext context) { if (context.isReturnType()) { SerializationConfig serializationConfig = objectMapper.getSerializationConfig(); return serializationConfig.introspect(TypeFactory.defaultInstance() .constructType(type.getErasedType())); } else { DeserializationConfig serializationConfig = objectMapper.getDeserializationConfig(); return serializationConfig.introspect(TypeFactory.defaultInstance() .constructType(type.getErasedType())); } }
@Override public Iterable<? extends ModelProperty> propertiesForDeserialization(ResolvedType resolvedType) { List<ModelProperty> serializationCandidates = newArrayList(); DeserializationConfig serializationConfig = objectMapper.getDeserializationConfig(); BeanDescription beanDescription = serializationConfig.introspect(TypeFactory.defaultInstance() .constructType(resolvedType.getErasedType())); Map<String, BeanPropertyDefinition> propertyLookup = uniqueIndex(beanDescription.findProperties(), BeanPropertyDefinitions.beanPropertyByInternalName()); for (ResolvedField childField : fieldProvider.in(resolvedType)) { if (propertyLookup.containsKey(childField.getName())) { BeanPropertyDefinition propertyDefinition = propertyLookup.get(childField.getName()); Optional<BeanPropertyDefinition> jacksonProperty = jacksonPropertyWithSameInternalName(beanDescription, propertyDefinition); AnnotatedMember member = propertyDefinition.getPrimaryMember(); serializationCandidates.addAll(newArrayList(addDeserializationCandidates(member, childField, jacksonProperty))); } } return serializationCandidates; }
/** * Creates a new {@link JacksonMetadata} instance for the given {@link ObjectMapper} and type. * * @param mapper must not be {@literal null}. * @param type must not be {@literal null}. */ public JacksonMetadata(ObjectMapper mapper, Class<?> type) { Assert.notNull(mapper, "ObjectMapper must not be null!"); Assert.notNull(type, "Type must not be null!"); this.mapper = mapper; SerializationConfig serializationConfig = mapper.getSerializationConfig(); JavaType javaType = serializationConfig.constructType(type); BeanDescription description = serializationConfig.introspect(javaType); this.definitions = description.findProperties(); this.isValue = description.findJsonValueMethod() != null; DeserializationConfig deserializationConfig = mapper.getDeserializationConfig(); JavaType deserializationType = deserializationConfig.constructType(type); this.deserializationDefinitions = deserializationConfig.introspect(deserializationType).findProperties(); }
@Override public JsonDeserializer<?> createContextual(DeserializationContext ctxt, BeanProperty property) throws JsonMappingException { if (ConditionalEnabledHelper.isEnabled(ctxt, property)) { BeanDescription beanDesc = ctxt.getConfig().introspect(property.getType()); JsonDeserializer<?> deserializer = ctxt.getFactory().createMapDeserializer(ctxt, (MapType) property.getType(), beanDesc); if (deserializer instanceof ContextualDeserializer) { deserializer = ((ContextualDeserializer) deserializer).createContextual(ctxt, property); } return new JSonMapEntryArrayDeSerializer(property.getType().getKeyType(), property.getType().getContentType(), deserializer); } BeanDescription beanDesc = ctxt.getConfig().introspect(property.getType()); JsonDeserializer<?> deserializer = ctxt.getFactory().createMapDeserializer(ctxt, (MapType) property.getType(), beanDesc); if (deserializer instanceof ContextualDeserializer) { return ((ContextualDeserializer) deserializer).createContextual(ctxt, property); } return deserializer; } }