Class AbstractOracleJsonSerde<T>
java.lang.Object
io.micronaut.serde.oracle.jdbc.json.serde.AbstractOracleJsonSerde<T>
- Type Parameters:
T
- the type being deserialized
- All Implemented Interfaces:
Deserializer<T>
,Serde<T>
,Serializer<T>
- Direct Known Subclasses:
OracleJsonBinarySerde
,OracleJsonLocaleDateSerde
,OracleJsonLocaleDateTimeSerde
,OracleJsonLocaleTimeSerde
,OracleJsonOffsetDateTimeSerde
,OracleJsonZonedDateTimeSerde
Abstract serializer/deserializer that needs to access Oracle JSON decoder.
-
Nested Class Summary
Nested classes/interfaces inherited from interface io.micronaut.serde.Deserializer
Deserializer.DecoderContext
Nested classes/interfaces inherited from interface io.micronaut.serde.Serializer
Serializer.EncoderContext
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionfinal T
deserialize
(@NonNull Decoder decoder, @NonNull Deserializer.DecoderContext decoderContext, @NonNull io.micronaut.core.type.Argument<? super T> type) Deserializes from the current state of theDecoder
an object of typeDeserializer
.protected abstract T
doDeserializeNonNull
(@NonNull OracleJdbcJsonParserDecoder decoder, @NonNull Deserializer.DecoderContext decoderContext, @NonNull io.micronaut.core.type.Argument<? super T> type) Deserializes object usingOracleJdbcJsonParserDecoder
.protected abstract void
doSerializeNonNull
(OracleJdbcJsonGeneratorEncoder encoder, Serializer.EncoderContext context, io.micronaut.core.type.Argument<? extends T> type, T value) Serializes non null value.void
serialize
(@NonNull Encoder encoder, @NonNull Serializer.EncoderContext context, @NonNull io.micronaut.core.type.Argument<? extends T> type, T 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, wait
Methods inherited from interface io.micronaut.serde.Deserializer
allowNull, createSpecific, deserializeNullable, getDefaultValue
Methods inherited from interface io.micronaut.serde.Serializer
createSpecific, isAbsent, isEmpty
-
Constructor Details
-
AbstractOracleJsonSerde
public AbstractOracleJsonSerde()
-
-
Method Details
-
deserialize
@NonNull public final T deserialize(@NonNull @NonNull Decoder decoder, @NonNull @NonNull Deserializer.DecoderContext decoderContext, @NonNull @NonNull io.micronaut.core.type.Argument<? super T> type) throws IOException Description copied from interface:Deserializer
Deserializes from the current state of theDecoder
an object of typeDeserializer
.- Specified by:
deserialize
in interfaceDeserializer<T>
- Parameters:
decoder
- The decoder, nevernull
decoderContext
- The decoder context, nevernull
type
- The generic type to be deserialized- Returns:
- The deserialized object or
null
only ifDeserializer.allowNull()
returnstrue
- Throws:
IOException
- If an error occurs during deserialization of the object
-
serialize
public void serialize(@NonNull @NonNull Encoder encoder, @NonNull @NonNull Serializer.EncoderContext context, @NonNull @NonNull io.micronaut.core.type.Argument<? extends T> type, T value) throws IOException Description copied from interface:Serializer
Serializes the given value using the passedEncoder
.- Specified by:
serialize
in interfaceSerializer<T>
- Parameters:
encoder
- The encoder to usecontext
- The encoder context, nevernull
type
- Models the generic type of the valuevalue
- The value, can benull
- Throws:
IOException
- If an error occurs during serialization
-
doDeserializeNonNull
@NonNull protected abstract T doDeserializeNonNull(@NonNull @NonNull OracleJdbcJsonParserDecoder decoder, @NonNull @NonNull Deserializer.DecoderContext decoderContext, @NonNull @NonNull io.micronaut.core.type.Argument<? super T> type) throws IOException Deserializes object usingOracleJdbcJsonParserDecoder
.- Parameters:
decoder
- the Oracle JSON decoderdecoderContext
- the decoder contexttype
- the type being deserialized- Returns:
- the deserialized instance of given type
- Throws:
IOException
- if an unrecoverable error occurs
-
doSerializeNonNull
protected abstract void doSerializeNonNull(OracleJdbcJsonGeneratorEncoder encoder, Serializer.EncoderContext context, io.micronaut.core.type.Argument<? extends T> type, @NonNull T value) throws IOException Serializes non null value.- Parameters:
encoder
- the encodercontext
- the encoder contexttype
- the type of object being serializedvalue
- the value being serialized- Throws:
IOException
- if an unrecoverable error occurs
-
getDefault
- Returns:
- The default behaviour
-