Package org.xbill.DNS.utils.json.resourcerecords

Source Code of org.xbill.DNS.utils.json.resourcerecords.TLSARecordDeserializer

package org.xbill.DNS.utils.json.resourcerecords;

import com.fasterxml.jackson.databind.node.ObjectNode;
import org.xbill.DNS.Name;
import org.xbill.DNS.TLSARecord;
import org.xbill.DNS.utils.json.exception.JsonDeserializationException;
import org.xbill.DNS.utils.json.exception.JsonDeserializationException.JsonDeserializationExceptionCode;

import java.io.IOException;

/**
* Jackson deserializer for the {@link org.xbill.DNS.TLSARecord} class
* @author Arnaud Dumont
*/
public class TLSARecordDeserializer extends
    AbstractRecordDeserializer<TLSARecord> {
  private static final long serialVersionUID = -9043318764404295577L;

  public TLSARecordDeserializer() {
    super(TLSARecord.class);
  }

  @Override
  protected TLSARecord createRecord(final Name name, final int dclass,
      final long ttl, final ObjectNode recordNode) {
    try {
      return new TLSARecord(name, dclass, ttl, getNodeIntegerValue(
          recordNode, "certificateUsage"), getNodeIntegerValue(
          recordNode, "selector"), getNodeIntegerValue(recordNode,
          "matchingType"), getNodeStringValue(recordNode,
          "certificateAssociationData"));
    } catch (final IOException e) {
      throw new JsonDeserializationException(
                    JsonDeserializationExceptionCode.unexpectedMappingError,
          e, getTextualBeanType(), e.getMessage());
    }
  }

  @Override
  protected String getTextualRecordType() {
    return "TLSA";
  }
}
TOP

Related Classes of org.xbill.DNS.utils.json.resourcerecords.TLSARecordDeserializer

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.