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
specifierfield based on the value of thespecifier_typefield.
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:
deserializein classcom.fasterxml.jackson.databind.JsonDeserializer<AccountAccessResponse>- Throws:
IOException
-