• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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