Annotation Interface SerdeableGenerated


@Target(TYPE) @Retention(RUNTIME) public @interface SerdeableGenerated
Declares the compile-time generated serde contract for a Serdeable type.

Micronaut Serialization already attempts to generate compile-time serializers and deserializers for simple eligible Serdeable shapes without this annotation. A shape is currently eligible when it is a simple bean, record, or enum whose serialization model can be represented directly by source generation. Features that require runtime behavior, such as custom serde classes, custom naming or property mappings, unwrapped or subtyped properties, any getters/setters, unsupported Jackson annotations, and complex enum or creator handling, fall back to the runtime introspection serde.

This annotation is used when the generated serde decision should be explicit. With the default settings, compilation fails if either the serializer or deserializer cannot be generated. Set required() to false to allow normal runtime fallback while still using generated serdes where they are eligible. Use skip() to disable both generated directions, or skipSerializer() and skipDeserializer() to opt out of only one direction.

Since:
3.0
Author:
Denis Stepanov
  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    boolean
    Returns whether compilation should fail when a non-skipped serializer or deserializer cannot be generated.
    boolean
    Returns whether both generated directions should be skipped.
    boolean
    Returns whether the generated deserializer should be skipped.
    boolean
    Returns whether the generated serializer should be skipped.
  • Element Details

    • required

      boolean required
      Returns whether compilation should fail when a non-skipped serializer or deserializer cannot be generated.
      Returns:
      true if compilation should fail when generation is not possible
      Default:
      true
    • skip

      boolean skip
      Returns whether both generated directions should be skipped.
      Returns:
      true if both generated serializer and deserializer should be skipped
      Default:
      false
    • skipSerializer

      boolean skipSerializer
      Returns whether the generated serializer should be skipped.
      Returns:
      true if the generated serializer should be skipped
      Default:
      false
    • skipDeserializer

      boolean skipDeserializer
      Returns whether the generated deserializer should be skipped.
      Returns:
      true if the generated deserializer should be skipped
      Default:
      false