Interface Serializer<T>
- Type Parameters:
T- The type to be serialized
- All Known Subinterfaces:
CustomizableSerializer<T>, NullableSerde<T>, NumberSerde<N>, ObjectSerializer<T>, Serde<T>, SerdeRegistrar<T>, SerializerRegistrar<T>, TemporalSerde<T>
- All Known Implementing Classes:
AbstractBsonSerde, AbstractOracleJsonSerde, BsonRepresentationSerde, ByteBufferSerde, CodecBsonDecoder, CustomizedObjectArraySerializer, DefaultFormattedTemporalSerde, HealthStatusSerde, InetAddressSerde, InstantSerde, LocalDateSerde, LocalDateTimeSerde, LocalTimeSerde, ObjectArraySerde, ObjectSerializer, OffsetDateTimeSerde, OracleJsonBinarySerde, OracleJsonDurationSerde, OracleJsonLocaleDateSerde, OracleJsonLocaleDateTimeSerde, OracleJsonLocaleTimeSerde, OracleJsonOffsetDateTimeSerde, OracleJsonZonedDateTimeSerde, YearSerde, ZonedDateTimeSerde
Models a build time serializer. That is a class computed at build-time that can
be used to serialize an instance of
T.- Author:
- Jonas Konrad, graemerocher
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic interfaceContext object passes to theserialize(Encoder, EncoderContext, Argument, Object)method. -
Method Summary
Modifier and TypeMethodDescriptiondefault @NonNull Serializer<T> createSpecific(@NonNull Serializer.EncoderContext context, @NonNull io.micronaut.core.type.Argument<? extends T> type) Create a more specific serializer for the given definition.default booleanisAbsent(@NonNull Serializer.EncoderContext context, @Nullable T value) Used forJsonInclude.Include#NON_ABSENTchecking.default booleanisDefault(@NonNull Serializer.EncoderContext context, @NonNull T value) Used forJsonInclude.Include#NON_DEFAULTchecking.default booleanisEmpty(@NonNull Serializer.EncoderContext context, @Nullable T value) Used forJsonInclude.Include#NON_EMPTYchecking.voidserialize(@NonNull Encoder encoder, @NonNull Serializer.EncoderContext context, @NonNull io.micronaut.core.type.Argument<? extends T> type, @NonNull T value) Serializes the given value using the passedEncoder.
-
Method Details
-
createSpecific
default @NonNull Serializer<T> createSpecific(@NonNull Serializer.EncoderContext context, @NonNull io.micronaut.core.type.Argument<? extends T> type) throws SerdeException Create a more specific serializer for the given definition.- Parameters:
context- The encoder contexttype- The type definition including any annotation metadata- Returns:
- The more specific serializer
- Throws:
SerdeException
-
serialize
void serialize(@NonNull Encoder encoder, @NonNull Serializer.EncoderContext context, @NonNull io.micronaut.core.type.Argument<? extends T> type, @NonNull T value) throws IOException Serializes the given value using the passedEncoder.- Parameters:
encoder- The encoder to usecontext- The encoder context, nevernulltype- Models the generic type of the valuevalue- The value, can benull- Throws:
IOException- If an error occurs during serialization
-
isEmpty
Used forJsonInclude.Include#NON_EMPTYchecking.- Parameters:
context- The encoder contextvalue- The check to check- Returns:
- Return
trueif the value is empty
-
isAbsent
Used forJsonInclude.Include#NON_ABSENTchecking.- Parameters:
context- The encoder contextvalue- The value to check- Returns:
- Return
trueif the value is absent
-
isDefault
Used forJsonInclude.Include#NON_DEFAULTchecking.- Parameters:
context- The encoder contextvalue- The check to check- Returns:
- Return
trueif the value is the default value - Since:
- 1.14
-