Home | History | Annotate | Download | only in DNS
      1 // Copyright (c) 2008 Brian Wellington (bwelling (at) xbill.org)
      2 
      3 package org.xbill.DNS;
      4 
      5 import java.io.*;
      6 import org.xbill.DNS.utils.base64;
      7 
      8 /**
      9  * DHCID - Dynamic Host Configuration Protocol (DHCP) ID (RFC 4701)
     10  *
     11  * @author Brian Wellington
     12  */
     13 
     14 public class DHCIDRecord extends Record {
     15 
     16 private static final long serialVersionUID = -8214820200808997707L;
     17 
     18 private byte [] data;
     19 
     20 DHCIDRecord() {}
     21 
     22 Record
     23 getObject() {
     24 	return new DHCIDRecord();
     25 }
     26 
     27 /**
     28  * Creates an DHCID Record from the given data
     29  * @param data The binary data, which is opaque to DNS.
     30  */
     31 public
     32 DHCIDRecord(Name name, int dclass, long ttl, byte [] data) {
     33 	super(name, Type.DHCID, dclass, ttl);
     34 	this.data = data;
     35 }
     36 
     37 void
     38 rrFromWire(DNSInput in) throws IOException {
     39 	data = in.readByteArray();
     40 }
     41 
     42 void
     43 rdataFromString(Tokenizer st, Name origin) throws IOException {
     44 	data = st.getBase64();
     45 }
     46 
     47 void
     48 rrToWire(DNSOutput out, Compression c, boolean canonical) {
     49 	out.writeByteArray(data);
     50 }
     51 
     52 String
     53 rrToString() {
     54 	return base64.toString(data);
     55 }
     56 
     57 /**
     58  * Returns the binary data.
     59  */
     60 public byte []
     61 getData() {
     62 	return data;
     63 }
     64 
     65 }
     66