1// Copyright (c) 2004 Brian Wellington (bwelling@xbill.org) 2 3package org.xbill.DNS; 4 5import java.io.*; 6 7/** 8 * Mailbox information Record - lists the address responsible for a mailing 9 * list/mailbox and the address to receive error messages relating to the 10 * mailing list/mailbox. 11 * 12 * @author Brian Wellington 13 */ 14 15public class MINFORecord extends Record { 16 17private static final long serialVersionUID = -3962147172340353796L; 18 19private Name responsibleAddress; 20private Name errorAddress; 21 22MINFORecord() {} 23 24Record 25getObject() { 26 return new MINFORecord(); 27} 28 29/** 30 * Creates an MINFO Record from the given data 31 * @param responsibleAddress The address responsible for the 32 * mailing list/mailbox. 33 * @param errorAddress The address to receive error messages relating to the 34 * mailing list/mailbox. 35 */ 36public 37MINFORecord(Name name, int dclass, long ttl, 38 Name responsibleAddress, Name errorAddress) 39{ 40 super(name, Type.MINFO, dclass, ttl); 41 42 this.responsibleAddress = checkName("responsibleAddress", 43 responsibleAddress); 44 this.errorAddress = checkName("errorAddress", errorAddress); 45} 46 47void 48rrFromWire(DNSInput in) throws IOException { 49 responsibleAddress = new Name(in); 50 errorAddress = new Name(in); 51} 52 53void 54rdataFromString(Tokenizer st, Name origin) throws IOException { 55 responsibleAddress = st.getName(origin); 56 errorAddress = st.getName(origin); 57} 58 59/** Converts the MINFO Record to a String */ 60String 61rrToString() { 62 StringBuffer sb = new StringBuffer(); 63 sb.append(responsibleAddress); 64 sb.append(" "); 65 sb.append(errorAddress); 66 return sb.toString(); 67} 68 69/** Gets the address responsible for the mailing list/mailbox. */ 70public Name 71getResponsibleAddress() { 72 return responsibleAddress; 73} 74 75/** 76 * Gets the address to receive error messages relating to the mailing 77 * list/mailbox. 78 */ 79public Name 80getErrorAddress() { 81 return errorAddress; 82} 83 84void 85rrToWire(DNSOutput out, Compression c, boolean canonical) { 86 responsibleAddress.toWire(out, null, canonical); 87 errorAddress.toWire(out, null, canonical); 88} 89 90} 91