// Copyright (c) 2004 Brian Wellington (bwelling@xbill.org) package org.xbill.DNS; import java.io.*; /** * X.400 mail mapping record. * * @author Brian Wellington */ public class PXRecord extends Record { private static final long serialVersionUID = 1811540008806660667L; private int preference; private Name map822; private Name mapX400; PXRecord() {} Record getObject() { return new PXRecord(); } /** * Creates an PX Record from the given data * @param preference The preference of this mail address. * @param map822 The RFC 822 component of the mail address. * @param mapX400 The X.400 component of the mail address. */ public PXRecord(Name name, int dclass, long ttl, int preference, Name map822, Name mapX400) { super(name, Type.PX, dclass, ttl); this.preference = checkU16("preference", preference); this.map822 = checkName("map822", map822); this.mapX400 = checkName("mapX400", mapX400); } void rrFromWire(DNSInput in) throws IOException { preference = in.readU16(); map822 = new Name(in); mapX400 = new Name(in); } void rdataFromString(Tokenizer st, Name origin) throws IOException { preference = st.getUInt16(); map822 = st.getName(origin); mapX400 = st.getName(origin); } /** Converts the PX Record to a String */ String rrToString() { StringBuffer sb = new StringBuffer(); sb.append(preference); sb.append(" "); sb.append(map822); sb.append(" "); sb.append(mapX400); return sb.toString(); } void rrToWire(DNSOutput out, Compression c, boolean canonical) { out.writeU16(preference); map822.toWire(out, null, canonical); mapX400.toWire(out, null, canonical); } /** Gets the preference of the route. */ public int getPreference() { return preference; } /** Gets the RFC 822 component of the mail address. */ public Name getMap822() { return map822; } /** Gets the X.400 component of the mail address. */ public Name getMapX400() { return mapX400; } }