// Copyright (c) 2004 Brian Wellington (bwelling@xbill.org)
package org.xbill.DNS;
import java.io.*;
/**
* Implements common functionality for the many record types whose format
* is a single name.
*
* @author Brian Wellington
*/
abstract class SingleNameBase extends Record {
private static final long serialVersionUID = -18595042501413L;
protected Name singleName;
protected
SingleNameBase() {}
protected
SingleNameBase(Name name, int type, int dclass, long ttl) {
super(name, type, dclass, ttl);
}
protected
SingleNameBase(Name name, int type, int dclass, long ttl, Name singleName,
String description)
{
super(name, type, dclass, ttl);
this.singleName = checkName(description, singleName);
}
void
rrFromWire(DNSInput in) throws IOException {
singleName = new Name(in);
}
void
rdataFromString(Tokenizer st, Name origin) throws IOException {
singleName = st.getName(origin);
}
String
rrToString() {
return singleName.toString();
}
protected Name
getSingleName() {
return singleName;
}
void
rrToWire(DNSOutput out, Compression c, boolean canonical) {
singleName.toWire(out, null, canonical);
}
}