blob: e160a8c940f608dda3b318a9fdd9d5a94281fdc8 [file] [log] [blame]
Shuyi Chend7955ce2013-05-22 14:51:55 -07001// Copyright (c) 2008 Brian Wellington (bwelling@xbill.org)
2
3package org.xbill.DNS;
4
5import java.io.*;
6import org.xbill.DNS.utils.base64;
7
8/**
9 * DHCID - Dynamic Host Configuration Protocol (DHCP) ID (RFC 4701)
10 *
11 * @author Brian Wellington
12 */
13
14public class DHCIDRecord extends Record {
15
16private static final long serialVersionUID = -8214820200808997707L;
17
18private byte [] data;
19
20DHCIDRecord() {}
21
22Record
23getObject() {
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 */
31public
32DHCIDRecord(Name name, int dclass, long ttl, byte [] data) {
33 super(name, Type.DHCID, dclass, ttl);
34 this.data = data;
35}
36
37void
38rrFromWire(DNSInput in) throws IOException {
39 data = in.readByteArray();
40}
41
42void
43rdataFromString(Tokenizer st, Name origin) throws IOException {
44 data = st.getBase64();
45}
46
47void
48rrToWire(DNSOutput out, Compression c, boolean canonical) {
49 out.writeByteArray(data);
50}
51
52String
53rrToString() {
54 return base64.toString(data);
55}
56
57/**
58 * Returns the binary data.
59 */
60public byte []
61getData() {
62 return data;
63}
64
65}