AAAA.java

 1package de.measite.minidns.record;
 2
 3import java.io.DataInputStream;
 4import java.io.IOException;
 5
 6import de.measite.minidns.Record.TYPE;
 7
 8/**
 9 * AAAA payload (an ipv6 pointer).
10 */
11public class AAAA implements Data {
12
13    /**
14     * The ipv6 address.
15     */
16    private byte[] ip;
17
18    @Override
19    public TYPE getType() {
20        return TYPE.AAAA;
21    }
22
23    @Override
24    public byte[] toByteArray() {
25        return ip;
26    }
27
28    @Override
29    public void parse(DataInputStream dis, byte[] data, int length)
30            throws IOException {
31        ip = new byte[16];
32        dis.readFully(ip);
33    }
34
35    @Override
36    public String toString() {
37        StringBuilder sb = new StringBuilder();
38        for (int i = 0; i < ip.length; i += 2) {
39            if (i != 0) {
40                sb.append(':');
41            }
42            sb.append(Integer.toHexString(
43                ((ip[i] & 0xff) << 8) + (ip[i + 1] & 0xff)
44            ));
45        }
46        return sb.toString();
47    }
48
49}