1 // Copyright (c) 1999-2004 Brian Wellington (bwelling@xbill.org)
2
3 package org.xbill.DNS;
4
5 /**
6 * Mail Exchange - specifies where mail to a domain is sent
7 *
8 * @author Brian Wellington
9 */
10
11 public class MXRecord extends U16NameBase {
12
13 private static final long serialVersionUID = 2914841027584208546L;
14
MXRecord()15 MXRecord() {}
16
17 Record
getObject()18 getObject() {
19 return new MXRecord();
20 }
21
22 /**
23 * Creates an MX Record from the given data
24 * @param priority The priority of this MX. Records with lower priority
25 * are preferred.
26 * @param target The host that mail is sent to
27 */
28 public
MXRecord(Name name, int dclass, long ttl, int priority, Name target)29 MXRecord(Name name, int dclass, long ttl, int priority, Name target) {
30 super(name, Type.MX, dclass, ttl, priority, "priority",
31 target, "target");
32 }
33
34 /** Returns the target of the MX record */
35 public Name
getTarget()36 getTarget() {
37 return getNameField();
38 }
39
40 /** Returns the priority of this MX record */
41 public int
getPriority()42 getPriority() {
43 return getU16Field();
44 }
45
46 void
rrToWire(DNSOutput out, Compression c, boolean canonical)47 rrToWire(DNSOutput out, Compression c, boolean canonical) {
48 out.writeU16(u16Field);
49 nameField.toWire(out, c, canonical);
50 }
51
52 public Name
getAdditionalName()53 getAdditionalName() {
54 return getNameField();
55 }
56
57 }
58