📄 soarecord.java
字号:
// Copyright (c) 1999-2004 Brian Wellington (bwelling@xbill.org)package org.xbill.DNS;import java.io.*;/** * Start of Authority - describes properties of a zone. * * @author Brian Wellington */public class SOARecord extends Record {private Name host, admin;private long serial, refresh, retry, expire, minimum;SOARecord() {}RecordgetObject() { return new SOARecord();}/** * Creates an SOA Record from the given data * @param host The primary name server for the zone * @param admin The zone administrator's address * @param serial The zone's serial number * @param refresh The amount of time until a secondary checks for a new serial * number * @param retry The amount of time between a secondary's checks for a new * serial number * @param expire The amount of time until a secondary expires a zone * @param minimum The minimum TTL for records in the zone*/publicSOARecord(Name name, int dclass, long ttl, Name host, Name admin, long serial, long refresh, long retry, long expire, long minimum){ super(name, Type.SOA, dclass, ttl); this.host = checkName("host", host); this.admin = checkName("admin", admin); this.serial = checkU32("serial", serial); this.refresh = checkU32("refresh", refresh); this.retry = checkU32("retry", retry); this.expire = checkU32("expire", expire); this.minimum = checkU32("minimum", minimum);}voidrrFromWire(DNSInput in) throws IOException { host = new Name(in); admin = new Name(in); serial = in.readU32(); refresh = in.readU32(); retry = in.readU32(); expire = in.readU32(); minimum = in.readU32();}voidrdataFromString(Tokenizer st, Name origin) throws IOException { host = st.getName(origin); admin = st.getName(origin); serial = st.getUInt32(); refresh = st.getTTLLike(); retry = st.getTTLLike(); expire = st.getTTLLike(); minimum = st.getTTLLike();}/** Convert to a String */StringrrToString() { StringBuffer sb = new StringBuffer(); sb.append(host); sb.append(" "); sb.append(admin); if (Options.check("multiline")) { sb.append(" (\n\t\t\t\t\t"); sb.append(serial); sb.append("\t; serial\n\t\t\t\t\t"); sb.append(refresh); sb.append("\t; refresh\n\t\t\t\t\t"); sb.append(retry); sb.append("\t; retry\n\t\t\t\t\t"); sb.append(expire); sb.append("\t; expire\n\t\t\t\t\t"); sb.append(minimum); sb.append(" )\t; minimum"); } else { sb.append(" "); sb.append(serial); sb.append(" "); sb.append(refresh); sb.append(" "); sb.append(retry); sb.append(" "); sb.append(expire); sb.append(" "); sb.append(minimum); } return sb.toString();}/** Returns the primary name server */public NamegetHost() { return host;} /** Returns the zone administrator's address */public NamegetAdmin() { return admin;} /** Returns the zone's serial number */public longgetSerial() { return serial;} /** Returns the zone refresh interval */public longgetRefresh() { return refresh;} /** Returns the zone retry interval */public longgetRetry() { return retry;} /** Returns the time until a secondary expires a zone */public longgetExpire() { return expire;} /** Returns the minimum TTL for records in the zone */public longgetMinimum() { return minimum;} voidrrToWire(DNSOutput out, Compression c, boolean canonical) { host.toWire(out, c, canonical); admin.toWire(out, c, canonical); out.writeU32(serial); out.writeU32(refresh); out.writeU32(retry); out.writeU32(expire); out.writeU32(minimum);}}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -