Class IdReferenceSerializer<T>

java.lang.Object
io.micronaut.serde.support.serializers.IdReferenceSerializer<T>
Type Parameters:
T - The value type
All Implemented Interfaces:
Serializer<T>

@Internal @Singleton public final class IdReferenceSerializer<T> extends Object implements Serializer<T>
Serializes a property that always references beans by their document-scoped identifier (JAXB @XmlIDREF, Jackson @JsonIdentityReference(alwaysAsId = true)): the referenced bean, or each element of a referenced collection, is written as its identifier.
Since:
3.2
  • Constructor Details

    • IdReferenceSerializer

      @Inject public IdReferenceSerializer(SerdeIntrospections introspections)
      Creates the unspecialized identifier-reference serializer.
      Parameters:
      introspections - The serde introspections
  • Method Details

    • createSpecific

      public Serializer<T> createSpecific(Serializer.EncoderContext context, io.micronaut.core.type.Argument<? extends T> type) throws SerdeException
      Description copied from interface: Serializer
      Create a more specific serializer for the given definition.
      Specified by:
      createSpecific in interface Serializer<T>
      Parameters:
      context - The encoder context
      type - The type definition including any annotation metadata
      Returns:
      The more specific serializer
      Throws:
      SerdeException
    • serialize

      public void serialize(Encoder encoder, Serializer.EncoderContext context, io.micronaut.core.type.Argument<? extends T> type, T value) throws IOException
      Description copied from interface: Serializer
      Serializes the given value using the passed Encoder.
      Specified by:
      serialize in interface Serializer<T>
      Parameters:
      encoder - The encoder to use
      context - The encoder context, never null
      type - Models the generic type of the value
      value - The value to serialize, never null. Callers should encode null values directly.
      Throws:
      IOException - If an error occurs during serialization