1 // Copyright (c) 2004 Brian Wellington (bwelling (at) xbill.org) 2 3 package org.xbill.DNS; 4 5 import 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 15 public class MINFORecord extends Record { 16 17 private static final long serialVersionUID = -3962147172340353796L; 18 19 private Name responsibleAddress; 20 private Name errorAddress; 21 22 MINFORecord() {} 23 24 Record 25 getObject() { 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 */ 36 public 37 MINFORecord(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 47 void 48 rrFromWire(DNSInput in) throws IOException { 49 responsibleAddress = new Name(in); 50 errorAddress = new Name(in); 51 } 52 53 void 54 rdataFromString(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 */ 60 String 61 rrToString() { 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. */ 70 public Name 71 getResponsibleAddress() { 72 return responsibleAddress; 73 } 74 75 /** 76 * Gets the address to receive error messages relating to the mailing 77 * list/mailbox. 78 */ 79 public Name 80 getErrorAddress() { 81 return errorAddress; 82 } 83 84 void 85 rrToWire(DNSOutput out, Compression c, boolean canonical) { 86 responsibleAddress.toWire(out, null, canonical); 87 errorAddress.toWire(out, null, canonical); 88 } 89 90 } 91