// Copyright (c) 2004 Brian Wellington (bwelling@xbill.org) package io.milton.dns.record; import io.milton.dns.Name; 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); } }