Package io.micronaut.serde.support
Class DefaultSerdeRegistry.ByteArraySerde
java.lang.Object
io.micronaut.serde.support.DefaultSerdeRegistry.ByteArraySerde
- All Implemented Interfaces:
Deserializer<byte[]>,Serde<byte[]>,Serializer<byte[]>
- Enclosing class:
- DefaultSerdeRegistry
@Singleton
@Internal
public static final class DefaultSerdeRegistry.ByteArraySerde
extends Object
implements Serde<byte[]>
Serde for byte arrays. Nested class for binary compatibility.
-
Nested Class Summary
Nested classes/interfaces inherited from interface io.micronaut.serde.Deserializer
Deserializer.DecoderContextNested classes/interfaces inherited from interface io.micronaut.serde.Serializer
Serializer.EncoderContext -
Constructor Summary
ConstructorsConstructorDescriptionByteArraySerde(boolean writeLegacyByteArrays) ByteArraySerde(SerdeConfiguration serdeConfiguration) -
Method Summary
Modifier and TypeMethodDescription@NonNull Deserializer<byte[]>createSpecific(@NonNull Deserializer.DecoderContext context, @NonNull io.micronaut.core.type.Argument<? super byte[]> type) Create a new child deserializer or return this if non is necessary for the given context.@NonNull Serializer<byte[]>createSpecific(@NonNull Serializer.EncoderContext context, @NonNull io.micronaut.core.type.Argument<? extends byte[]> type) Create a more specific serializer for the given definition.byte[]deserialize(Decoder decoder, Deserializer.DecoderContext decoderContext, io.micronaut.core.type.Argument<? super byte[]> type) Deserializes from the current state of theDecoderan object of typeDeserializer.byte[]deserializeNullable(@NonNull Decoder decoder, @NonNull Deserializer.DecoderContext context, @NonNull io.micronaut.core.type.Argument<? super byte[]> type) Deserializes from the current state of theDecoderan object of typeDeserializer.booleanisEmpty(Serializer.EncoderContext context, byte[] value) Used forJsonInclude.Include#NON_EMPTYchecking.voidserialize(Encoder encoder, Serializer.EncoderContext context, io.micronaut.core.type.Argument<? extends byte[]> type, byte[] value) Serializes the given value using the passedEncoder.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.micronaut.serde.Deserializer
allowNull, getDefaultValueMethods inherited from interface io.micronaut.serde.Serializer
isAbsent
-
Constructor Details
-
ByteArraySerde
-
ByteArraySerde
@Internal public ByteArraySerde(boolean writeLegacyByteArrays)
-
-
Method Details
-
createSpecific
@NonNull public @NonNull Serializer<byte[]> createSpecific(@NonNull @NonNull Serializer.EncoderContext context, @NonNull @NonNull io.micronaut.core.type.Argument<? extends byte[]> type) throws SerdeException Description copied from interface:SerializerCreate a more specific serializer for the given definition.- Specified by:
createSpecificin interfaceSerializer<byte[]>- Parameters:
context- The encoder contexttype- The type definition including any annotation metadata- Returns:
- The more specific serializer
- Throws:
SerdeException
-
createSpecific
@NonNull public @NonNull Deserializer<byte[]> createSpecific(@NonNull @NonNull Deserializer.DecoderContext context, @NonNull @NonNull io.micronaut.core.type.Argument<? super byte[]> type) throws SerdeException Description copied from interface:DeserializerCreate a new child deserializer or return this if non is necessary for the given context.- Specified by:
createSpecificin interfaceDeserializer<byte[]>- Parameters:
context- The decoder contexttype- The context, including any annotation metadata and type information to narrow the deserializer type- Returns:
- An instance of the same type of deserializer
- Throws:
SerdeException
-
deserialize
public byte[] deserialize(Decoder decoder, Deserializer.DecoderContext decoderContext, io.micronaut.core.type.Argument<? super byte[]> type) throws IOException Description copied from interface:DeserializerDeserializes from the current state of theDecoderan object of typeDeserializer.- Specified by:
deserializein interfaceDeserializer<byte[]>- Parameters:
decoder- The decoder, nevernulldecoderContext- The decoder context, nevernulltype- The generic type to be deserialized- Returns:
- The deserialized object or
nullonly ifDeserializer.allowNull()returnstrue - Throws:
IOException- If an error occurs during deserialization of the object
-
deserializeNullable
public byte[] deserializeNullable(@NonNull @NonNull Decoder decoder, @NonNull @NonNull Deserializer.DecoderContext context, @NonNull @NonNull io.micronaut.core.type.Argument<? super byte[]> type) throws IOException Description copied from interface:DeserializerDeserializes from the current state of theDecoderan object of typeDeserializer. If the decoder value isnull, this must be permitted. By default, in this case, this method will returnnull.- Specified by:
deserializeNullablein interfaceDeserializer<byte[]>- Parameters:
decoder- The decoder, nevernullcontext- The decoder context, nevernulltype- The generic type to be deserialized- Returns:
- The deserialized object or
null - Throws:
IOException- If an error occurs during deserialization of the object
-
serialize
public void serialize(Encoder encoder, Serializer.EncoderContext context, io.micronaut.core.type.Argument<? extends byte[]> type, byte[] value) throws IOException Description copied from interface:SerializerSerializes the given value using the passedEncoder.- Specified by:
serializein interfaceSerializer<byte[]>- 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
Description copied from interface:SerializerUsed forJsonInclude.Include#NON_EMPTYchecking.- Specified by:
isEmptyin interfaceSerializer<byte[]>- Parameters:
context- The encoder contextvalue- The check to check- Returns:
- Return
trueif the value is empty
-