Package io.mailtrap.serialization
Class AccountAccessResponseDeserializer
java.lang.Object
com.fasterxml.jackson.databind.JsonDeserializer<AccountAccessResponse>
io.mailtrap.serialization.AccountAccessResponseDeserializer
- All Implemented Interfaces:
com.fasterxml.jackson.databind.deser.NullValueProvider
public class AccountAccessResponseDeserializer
extends com.fasterxml.jackson.databind.JsonDeserializer<AccountAccessResponse>
Custom deserializer for
AccountAccessResponse
that handles the deserialization
of complex fields, including dynamic mapping of the specifier
field based on
the specifier_type
field.
This deserializer uses an ObjectMapper
to convert JSON nodes into Java objects.
The deserialization process includes:
- Extracting and converting simple fields such as
id
,resources
, andpermissions
. - Dynamically deserializing the
specifier
field based on the value of thespecifier_type
field.
The specifier
field is mapped to a specific subclass of Specifier
(e.g., UserSpecifier
, InviteSpecifier
, ApiTokenSpecifier
)
based on the value of specifier_type
.
The deserialized AccountAccessResponse
object is then constructed and returned.
-
Nested Class Summary
Nested classes/interfaces inherited from class com.fasterxml.jackson.databind.JsonDeserializer
com.fasterxml.jackson.databind.JsonDeserializer.None
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiondeserialize
(com.fasterxml.jackson.core.JsonParser p, com.fasterxml.jackson.databind.DeserializationContext ctxt) Methods inherited from class com.fasterxml.jackson.databind.JsonDeserializer
deserialize, deserializeWithType, deserializeWithType, findBackReference, getAbsentValue, getDelegatee, getEmptyAccessPattern, getEmptyValue, getEmptyValue, getKnownPropertyNames, getNullAccessPattern, getNullValue, getNullValue, getObjectIdReader, handledType, isCachable, logicalType, replaceDelegatee, supportsUpdate, unwrappingDeserializer
-
Constructor Details
-
AccountAccessResponseDeserializer
public AccountAccessResponseDeserializer()
-
-
Method Details
-
deserialize
public AccountAccessResponse deserialize(com.fasterxml.jackson.core.JsonParser p, com.fasterxml.jackson.databind.DeserializationContext ctxt) throws IOException - Specified by:
deserialize
in classcom.fasterxml.jackson.databind.JsonDeserializer<AccountAccessResponse>
- Throws:
IOException
-