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

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

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

import com.fasterxml.jackson.databind.node.ObjectNode;
import org.xbill.DNS.DSRecord;
import org.xbill.DNS.Name;
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.DSRecord} class
* @author Arnaud Dumont
*/
public class DSRecordDeserializer extends AbstractRecordDeserializer<DSRecord> {
  private static final long serialVersionUID = 9205297205421105521L;

  public DSRecordDeserializer() {
    super(DSRecord.class);
  }

  @Override
  protected DSRecord createRecord(final Name name, final int dclass,
      final long ttl, final ObjectNode recordNode) {
    try {
      return new DSRecord(name, dclass, ttl, getNodeIntegerValue(
          recordNode, "footprint"), getNodeIntegerValue(recordNode,
          "algorithm"), getNodeIntegerValue(recordNode, "digestId"),
          getNodeStringValue(recordNode, "digest"));
    } catch (final IOException e) {
      throw new JsonDeserializationException(
                    JsonDeserializationExceptionCode.unexpectedMappingError,
          e, getTextualBeanType(), e.getMessage());
    }
  }

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

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

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.