
de.measite.minidns.record.AAAA Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of minidns-core Show documentation
Show all versions of minidns-core Show documentation
Minimal DNS library for java and android systems
The newest version!
/*
* Copyright 2015-2016 the original author or authors
*
* This software is licensed under the Apache License, Version 2.0,
* the GNU Lesser General Public License version 2 or later ("LGPL")
* and the WTFPL.
* You may choose either license to govern your use of this software only
* upon the condition that you accept all of the terms of either
* the Apache License 2.0, the LGPL 2.1+ or the WTFPL.
*/
package de.measite.minidns.record;
import java.io.DataInputStream;
import java.io.IOException;
import de.measite.minidns.Record.TYPE;
/**
* AAAA payload (an ipv6 pointer).
*/
public class AAAA extends InternetAddressRR {
@Override
public TYPE getType() {
return TYPE.AAAA;
}
public AAAA(byte[] ip) {
super(ip);
if (ip.length != 16) {
throw new IllegalArgumentException("IPv6 address in AAAA record is always 16 byte");
}
}
public static AAAA parse(DataInputStream dis)
throws IOException {
byte[] ip = new byte[16];
dis.readFully(ip);
return new AAAA(ip);
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < ip.length; i += 2) {
if (i != 0) {
sb.append(':');
}
sb.append(Integer.toHexString(
((ip[i] & 0xff) << 8) + (ip[i + 1] & 0xff)
));
}
return sb.toString();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy