• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 1999-2004 Brian Wellington (bwelling@xbill.org)
2 
3 package org.xbill.DNS;
4 
5 import java.io.*;
6 
7 /**
8  * Responsible Person Record - lists the mail address of a responsible person
9  * and a domain where TXT records are available.
10  *
11  * @author Tom Scola <tscola@research.att.com>
12  * @author Brian Wellington
13  */
14 
15 public class RPRecord extends Record {
16 
17 private static final long serialVersionUID = 8124584364211337460L;
18 
19 private Name mailbox;
20 private Name textDomain;
21 
RPRecord()22 RPRecord() {}
23 
24 Record
getObject()25 getObject() {
26 	return new RPRecord();
27 }
28 
29 /**
30  * Creates an RP Record from the given data
31  * @param mailbox The responsible person
32  * @param textDomain The address where TXT records can be found
33  */
34 public
RPRecord(Name name, int dclass, long ttl, Name mailbox, Name textDomain)35 RPRecord(Name name, int dclass, long ttl, Name mailbox, Name textDomain) {
36 	super(name, Type.RP, dclass, ttl);
37 
38 	this.mailbox = checkName("mailbox", mailbox);
39 	this.textDomain = checkName("textDomain", textDomain);
40 }
41 
42 void
rrFromWire(DNSInput in)43 rrFromWire(DNSInput in) throws IOException {
44 	mailbox = new Name(in);
45 	textDomain = new Name(in);
46 }
47 
48 void
rdataFromString(Tokenizer st, Name origin)49 rdataFromString(Tokenizer st, Name origin) throws IOException {
50 	mailbox = st.getName(origin);
51 	textDomain = st.getName(origin);
52 }
53 
54 /** Converts the RP Record to a String */
55 String
rrToString()56 rrToString() {
57 	StringBuffer sb = new StringBuffer();
58 	sb.append(mailbox);
59 	sb.append(" ");
60 	sb.append(textDomain);
61 	return sb.toString();
62 }
63 
64 /** Gets the mailbox address of the RP Record */
65 public Name
getMailbox()66 getMailbox() {
67 	return mailbox;
68 }
69 
70 /** Gets the text domain info of the RP Record */
71 public Name
getTextDomain()72 getTextDomain() {
73 	return textDomain;
74 }
75 
76 void
rrToWire(DNSOutput out, Compression c, boolean canonical)77 rrToWire(DNSOutput out, Compression c, boolean canonical) {
78 	mailbox.toWire(out, null, canonical);
79 	textDomain.toWire(out, null, canonical);
80 }
81 
82 }
83