Package org.apache.druid.guice
Class GuiceAnnotationIntrospector
- java.lang.Object
-
- com.fasterxml.jackson.databind.AnnotationIntrospector
-
- com.fasterxml.jackson.databind.introspect.NopAnnotationIntrospector
-
- org.apache.druid.guice.GuiceAnnotationIntrospector
-
- All Implemented Interfaces:
com.fasterxml.jackson.core.Versioned
,Serializable
public class GuiceAnnotationIntrospector extends com.fasterxml.jackson.databind.introspect.NopAnnotationIntrospector
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description GuiceAnnotationIntrospector()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description com.fasterxml.jackson.annotation.JacksonInject.Value
findInjectableValue(com.fasterxml.jackson.databind.introspect.AnnotatedMember m)
com.fasterxml.jackson.annotation.JsonIgnoreProperties.Value
findPropertyIgnorals(com.fasterxml.jackson.databind.introspect.Annotated ac)
This method is used to find what property to ignore in deserialization.-
Methods inherited from class com.fasterxml.jackson.databind.introspect.NopAnnotationIntrospector
version
-
Methods inherited from class com.fasterxml.jackson.databind.AnnotationIntrospector
_findAnnotation, _hasAnnotation, _hasOneOf, allIntrospectors, allIntrospectors, findAndAddVirtualProperties, findAutoDetectVisibility, findClassDescription, findContentDeserializer, findContentSerializer, findCreatorAnnotation, findCreatorBinding, findDefaultEnumValue, findDeserializationContentConverter, findDeserializationContentType, findDeserializationConverter, findDeserializationKeyType, findDeserializationType, findDeserializer, findEnumAliases, findEnumValue, findEnumValues, findFilterId, findFormat, findIgnoreUnknownProperties, findImplicitPropertyName, findInjectableValueId, findKeyDeserializer, findKeySerializer, findMergeInfo, findNameForDeserialization, findNameForSerialization, findNamingStrategy, findNullSerializer, findObjectIdInfo, findObjectReferenceInfo, findPOJOBuilder, findPOJOBuilderConfig, findPropertiesToIgnore, findPropertyAccess, findPropertyAliases, findPropertyContentTypeResolver, findPropertyDefaultValue, findPropertyDescription, findPropertyIgnoralByName, findPropertyInclusion, findPropertyInclusionByName, findPropertyIndex, findPropertyTypeResolver, findReferenceType, findRenameByField, findRootName, findSerializationContentConverter, findSerializationContentType, findSerializationConverter, findSerializationInclusion, findSerializationInclusionForContent, findSerializationKeyType, findSerializationPropertyOrder, findSerializationSortAlphabetically, findSerializationType, findSerializationTyping, findSerializer, findSetterInfo, findSubtypes, findTypeName, findTypeResolver, findUnwrappingNameTransformer, findValueInstantiator, findViews, findWrapperName, hasAnyGetter, hasAnyGetterAnnotation, hasAnySetter, hasAnySetterAnnotation, hasAsKey, hasAsValue, hasAsValueAnnotation, hasCreatorAnnotation, hasIgnoreMarker, hasRequiredMarker, isAnnotationBundle, isIgnorableType, isTypeId, nopInstance, pair, refineDeserializationType, refineSerializationType, resolveSetterConflict
-
-
-
-
Method Detail
-
findInjectableValue
public com.fasterxml.jackson.annotation.JacksonInject.Value findInjectableValue(com.fasterxml.jackson.databind.introspect.AnnotatedMember m)
- Overrides:
findInjectableValue
in classcom.fasterxml.jackson.databind.AnnotationIntrospector
-
findPropertyIgnorals
public com.fasterxml.jackson.annotation.JsonIgnoreProperties.Value findPropertyIgnorals(com.fasterxml.jackson.databind.introspect.Annotated ac)
This method is used to find what property to ignore in deserialization. Jackson calls this method per every class and every constructor parameter. This implementation returns aJsonIgnoreProperties.Value.empty()
that allows empty names if the parameters has theJsonProperty
annotation. Otherwise, it returnsJsonIgnoreProperties.Value.forIgnoredProperties("")
that does NOT allow empty names. This behavior is to work around a bug in Jackson deserializer (see the below comment for details) and can be removed in the future after the bug is fixed. For example, suppose a constructor like below:{@code
- Overrides:
findPropertyIgnorals
in classcom.fasterxml.jackson.databind.AnnotationIntrospector
-
-