Class DataAPIAnnotationIntrospector

java.lang.Object
com.fasterxml.jackson.databind.AnnotationIntrospector
com.fasterxml.jackson.databind.introspect.JacksonAnnotationIntrospector
com.datastax.astra.internal.serdes.collections.DataAPIAnnotationIntrospector
All Implemented Interfaces:
com.fasterxml.jackson.core.Versioned, Serializable

public class DataAPIAnnotationIntrospector extends com.fasterxml.jackson.databind.introspect.JacksonAnnotationIntrospector
Custom Jackson annotation introspector for Data API specific annotations.

This introspector handles special field name mappings for Data API annotations:

See Also:
  • Nested Class Summary

    Nested classes/interfaces inherited from class com.fasterxml.jackson.databind.AnnotationIntrospector

    com.fasterxml.jackson.databind.AnnotationIntrospector.ReferenceProperty, com.fasterxml.jackson.databind.AnnotationIntrospector.XmlExtensions
  • Field Summary

    Fields inherited from class com.fasterxml.jackson.databind.introspect.JacksonAnnotationIntrospector

    _annotationsInside, _cfgConstructorPropertiesImpliesCreator
  • Constructor Summary

    Constructors
    Constructor
    Description
    Default constructor.
  • Method Summary

    Modifier and Type
    Method
    Description
    com.fasterxml.jackson.databind.PropertyName
    findNameForSerialization(com.fasterxml.jackson.databind.introspect.Annotated a)
    Overrides the default field name resolution to handle Data API specific annotations.

    Methods inherited from class com.fasterxml.jackson.databind.introspect.JacksonAnnotationIntrospector

    _classIfExplicit, _classIfExplicit, _constructNoTypeResolverBuilder, _constructStdTypeResolverBuilder, _constructStdTypeResolverBuilder, _constructVirtualProperty, _constructVirtualProperty, _findConstructorName, _findTypeResolver, _isIgnorable, _propertyName, findAndAddVirtualProperties, findAutoDetectVisibility, findClassDescription, findContentDeserializer, findContentSerializer, findCreatorAnnotation, findCreatorBinding, findDefaultEnumValue, findDefaultEnumValue, findDeserializationContentConverter, findDeserializationConverter, findDeserializer, findEnumAliases, findEnumAliases, findEnumNamingStrategy, findEnumValues, findEnumValues, findFilterId, findFormat, findImplicitPropertyName, findInjectableValue, findInjectableValueId, findKeyDeserializer, findKeySerializer, findMergeInfo, findNameForDeserialization, findNamingStrategy, findNullSerializer, findObjectIdInfo, findObjectReferenceInfo, findPOJOBuilder, findPOJOBuilderConfig, findPolymorphicTypeInfo, findPropertyAccess, findPropertyAliases, findPropertyContentTypeResolver, findPropertyDefaultValue, findPropertyDescription, findPropertyIgnoralByName, findPropertyIgnorals, findPropertyInclusion, findPropertyInclusionByName, findPropertyIndex, findPropertyTypeResolver, findReferenceType, findRenameByField, findRootName, findSerializationContentConverter, findSerializationConverter, findSerializationPropertyOrder, findSerializationSortAlphabetically, findSerializationTyping, findSerializer, findSetterInfo, findSubtypes, findTypeName, findTypeResolver, findUnwrappingNameTransformer, findValueInstantiator, findViews, hasAnyGetter, hasAnyGetterAnnotation, hasAnySetter, hasAnySetterAnnotation, hasAsKey, hasAsValue, hasAsValueAnnotation, hasCreatorAnnotation, hasIgnoreMarker, hasRequiredMarker, isAnnotationBundle, isIgnorableType, isTypeId, readResolve, refineDeserializationType, refineSerializationType, resolveSetterConflict, setConstructorPropertiesImpliesCreator, version

    Methods inherited from class com.fasterxml.jackson.databind.AnnotationIntrospector

    _findAnnotation, _hasAnnotation, _hasOneOf, allIntrospectors, allIntrospectors, findDefaultCreator, findEnumValue, findWrapperName, nopInstance, pair

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • DataAPIAnnotationIntrospector

      public DataAPIAnnotationIntrospector()
      Default constructor.
  • Method Details

    • findNameForSerialization

      public com.fasterxml.jackson.databind.PropertyName findNameForSerialization(com.fasterxml.jackson.databind.introspect.Annotated a)
      Overrides the default field name resolution to handle Data API specific annotations.

      Fields annotated with Vectorize, Lexical, or Vector will be serialized with the appropriate "$" prefix.

      Overrides:
      findNameForSerialization in class com.fasterxml.jackson.databind.introspect.JacksonAnnotationIntrospector
      Parameters:
      a - the annotated field
      Returns:
      the property name to use for serialization, with "$" prefix if applicable