View Javadoc
1   package org.bremersee.ldaptive.converter;
2   
3   import com.fasterxml.jackson.core.JsonParser;
4   import com.fasterxml.jackson.databind.DeserializationContext;
5   import com.fasterxml.jackson.databind.deser.std.StdDeserializer;
6   import java.io.IOException;
7   import java.io.Serial;
8   import org.bremersee.ldaptive.transcoder.ValueTranscoderFactory;
9   import org.ldaptive.dn.Dn;
10  
11  /**
12   * The jackson distinguished name deserializer.
13   */
14  public class JacksonDnDeserializer extends StdDeserializer<Dn> {
15  
16    @Serial
17    private static final long serialVersionUID = 1L;
18  
19    /**
20     * Instantiates a new jackson distinguished name deserializer.
21     */
22    public JacksonDnDeserializer() {
23      super(Dn.class);
24    }
25  
26    @Override
27    public Dn deserialize(JsonParser jsonParser, DeserializationContext deserializationContext)
28        throws IOException {
29  
30      String source = jsonParser.readValueAs(String.class);
31      return ValueTranscoderFactory.getDnValueTranscoder().decodeStringValue(source);
32    }
33  }