View Javadoc
1   package org.bremersee.ldaptive.converter;
2   
3   import static java.util.Objects.isNull;
4   
5   import com.fasterxml.jackson.core.JsonParser;
6   import com.fasterxml.jackson.databind.DeserializationContext;
7   import com.fasterxml.jackson.databind.deser.std.StdDeserializer;
8   import java.io.IOException;
9   import java.io.Serial;
10  import org.bremersee.ldaptive.serializable.SerLdapEntry;
11  import org.ldaptive.LdapEntry;
12  
13  /**
14   * The jackson ldap entry deserializer.
15   */
16  public class JacksonLdapEntryDeserializer extends StdDeserializer<LdapEntry> {
17  
18    @Serial
19    private static final long serialVersionUID = 1L;
20  
21    /**
22     * Instantiates a new jackson ldap entry deserializer.
23     */
24    public JacksonLdapEntryDeserializer() {
25      super(LdapEntry.class);
26    }
27  
28    @Override
29    public LdapEntry deserialize(JsonParser jsonParser, DeserializationContext deserializationContext)
30        throws IOException {
31  
32      SerLdapEntry serLdapEntry = jsonParser.readValueAs(SerLdapEntry.class);
33      return isNull(serLdapEntry) ? null : serLdapEntry.toLdapEntry();
34    }
35  }