org.xbill.DNS.NULLRecord Maven / Gradle / Ivy
The newest version!
// Copyright (c) 2004 Brian Wellington ([email protected])
package org.xbill.DNS;
import java.io.*;
/**
* The NULL Record. This has no defined purpose, but can be used to
* hold arbitrary data.
*
* @author Brian Wellington
*/
public class NULLRecord extends Record {
private static final long serialVersionUID = -5796493183235216538L;
private byte [] data;
NULLRecord() {}
Record
getObject() {
return new NULLRecord();
}
/**
* Creates a NULL record from the given data.
* @param data The contents of the record.
*/
public
NULLRecord(Name name, int dclass, long ttl, byte [] data) {
super(name, Type.NULL, dclass, ttl);
if (data.length > 0xFFFF) {
throw new IllegalArgumentException("data must be <65536 bytes");
}
this.data = data;
}
void
rrFromWire(DNSInput in) throws IOException {
data = in.readByteArray();
}
void
rdataFromString(Tokenizer st, Name origin) throws IOException {
throw st.exception("no defined text format for NULL records");
}
String
rrToString() {
return unknownToString(data);
}
/** Returns the contents of this record. */
public byte []
getData() {
return data;
}
void
rrToWire(DNSOutput out, Compression c, boolean canonical) {
out.writeByteArray(data);
}
}