13742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman/** 23742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * 33742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman */ 43742d9db8b6edb10627b0f89336cca5249f1d15aManuel Romanpackage javax.jmdns.impl.constants; 53742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman 63742d9db8b6edb10627b0f89336cca5249f1d15aManuel Romanimport java.util.logging.Logger; 73742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman 83742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman/** 93742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * DNS Record Type 103742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * 113742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * @author Arthur van Hoff, Jeff Sonstein, Werner Randelshofer, Pierre Frisch, Rick Blair 123742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman */ 133742d9db8b6edb10627b0f89336cca5249f1d15aManuel Romanpublic enum DNSRecordType { 143742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman /** 153742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * Address 163742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman */ 173742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman TYPE_IGNORE("ignore", 0), 183742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman /** 193742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * Address 203742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman */ 213742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman TYPE_A("a", 1), 223742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman /** 233742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * Name Server 243742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman */ 253742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman TYPE_NS("ns", 2), 263742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman /** 273742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * Mail Destination 283742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman */ 293742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman TYPE_MD("md", 3), 303742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman /** 313742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * Mail Forwarder 323742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman */ 333742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman TYPE_MF("mf", 4), 343742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman /** 353742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * Canonical Name 363742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman */ 373742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman TYPE_CNAME("cname", 5), 383742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman /** 393742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * Start of Authority 403742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman */ 413742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman TYPE_SOA("soa", 6), 423742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman /** 433742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * Mailbox 443742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman */ 453742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman TYPE_MB("mb", 7), 463742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman /** 473742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * Mail Group 483742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman */ 493742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman TYPE_MG("mg", 8), 503742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman /** 513742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * Mail Rename 523742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman */ 533742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman TYPE_MR("mr", 9), 543742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman /** 553742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * NULL RR 563742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman */ 573742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman TYPE_NULL("null", 10), 583742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman /** 593742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * Well-known-service 603742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman */ 613742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman TYPE_WKS("wks", 11), 623742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman /** 633742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * Domain Name pointer 643742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman */ 653742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman TYPE_PTR("ptr", 12), 663742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman /** 673742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * Host information 683742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman */ 693742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman TYPE_HINFO("hinfo", 13), 703742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman /** 713742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * Mailbox information 723742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman */ 733742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman TYPE_MINFO("minfo", 14), 743742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman /** 753742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * Mail exchanger 763742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman */ 773742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman TYPE_MX("mx", 15), 783742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman /** 793742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * Arbitrary text string 803742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman */ 813742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman TYPE_TXT("txt", 16), 823742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman /** 833742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * for Responsible Person [RFC1183] 843742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman */ 853742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman TYPE_RP("rp", 17), 863742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman /** 873742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * for AFS Data Base location [RFC1183] 883742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman */ 893742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman TYPE_AFSDB("afsdb", 18), 903742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman /** 913742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * for X.25 PSDN address [RFC1183] 923742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman */ 933742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman TYPE_X25("x25", 19), 943742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman /** 953742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * for ISDN address [RFC1183] 963742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman */ 973742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman TYPE_ISDN("isdn", 20), 983742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman /** 993742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * for Route Through [RFC1183] 1003742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman */ 1013742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman TYPE_RT("rt", 21), 1023742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman /** 1033742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * for NSAP address, NSAP style A record [RFC1706] 1043742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman */ 1053742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman TYPE_NSAP("nsap", 22), 1063742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman /** 1073742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * 1083742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman */ 1093742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman TYPE_NSAP_PTR("nsap-otr", 23), 1103742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman /** 1113742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * for security signature [RFC2931] 1123742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman */ 1133742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman TYPE_SIG("sig", 24), 1143742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman /** 1153742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * for security key [RFC2535] 1163742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman */ 1173742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman TYPE_KEY("key", 25), 1183742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman /** 1193742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * X.400 mail mapping information [RFC2163] 1203742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman */ 1213742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman TYPE_PX("px", 26), 1223742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman /** 1233742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * Geographical Position [RFC1712] 1243742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman */ 1253742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman TYPE_GPOS("gpos", 27), 1263742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman /** 1273742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * IP6 Address [Thomson] 1283742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman */ 1293742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman TYPE_AAAA("aaaa", 28), 1303742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman /** 1313742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * Location Information [Vixie] 1323742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman */ 1333742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman TYPE_LOC("loc", 29), 1343742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman /** 1353742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * Next Domain - OBSOLETE [RFC2535, RFC3755] 1363742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman */ 1373742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman TYPE_NXT("nxt", 30), 1383742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman /** 1393742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * Endpoint Identifier [Patton] 1403742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman */ 1413742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman TYPE_EID("eid", 31), 1423742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman /** 1433742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * Nimrod Locator [Patton] 1443742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman */ 1453742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman TYPE_NIMLOC("nimloc", 32), 1463742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman /** 1473742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * Server Selection [RFC2782] 1483742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman */ 1493742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman TYPE_SRV("srv", 33), 1503742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman /** 1513742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * ATM Address [Dobrowski] 1523742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman */ 1533742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman TYPE_ATMA("atma", 34), 1543742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman /** 1553742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * Naming Authority Pointer [RFC2168, RFC2915] 1563742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman */ 1573742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman TYPE_NAPTR("naptr", 35), 1583742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman /** 1593742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * Key Exchanger [RFC2230] 1603742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman */ 1613742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman TYPE_KX("kx", 36), 1623742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman /** 1633742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * CERT [RFC2538] 1643742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman */ 1653742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman TYPE_CERT("cert", 37), 1663742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman /** 1673742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * A6 [RFC2874] 1683742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman */ 1693742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman TYPE_A6("a6", 38), 1703742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman /** 1713742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * DNAME [RFC2672] 1723742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman */ 1733742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman TYPE_DNAME("dname", 39), 1743742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman /** 1753742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * SINK [Eastlake] 1763742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman */ 1773742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman TYPE_SINK("sink", 40), 1783742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman /** 1793742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * OPT [RFC2671] 1803742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman */ 1813742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman TYPE_OPT("opt", 41), 1823742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman /** 1833742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * APL [RFC3123] 1843742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman */ 1853742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman TYPE_APL("apl", 42), 1863742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman /** 1873742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * Delegation Signer [RFC3658] 1883742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman */ 1893742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman TYPE_DS("ds", 43), 1903742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman /** 1913742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * SSH Key Fingerprint [RFC-ietf-secsh-dns-05.txt] 1923742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman */ 1933742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman TYPE_SSHFP("sshfp", 44), 1943742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman /** 1953742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * RRSIG [RFC3755] 1963742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman */ 1973742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman TYPE_RRSIG("rrsig", 46), 1983742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman /** 1993742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * NSEC [RFC3755] 2003742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman */ 2013742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman TYPE_NSEC("nsec", 47), 2023742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman /** 2033742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * DNSKEY [RFC3755] 2043742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman */ 2053742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman TYPE_DNSKEY("dnskey", 48), 2063742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman /** 2073742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * [IANA-Reserved] 2083742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman */ 2093742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman TYPE_UINFO("uinfo", 100), 2103742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman /** 2113742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * [IANA-Reserved] 2123742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman */ 2133742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman TYPE_UID("uid", 101), 2143742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman /** 2153742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * [IANA-Reserved] 2163742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman */ 2173742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman TYPE_GID("gid", 102), 2183742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman /** 2193742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * [IANA-Reserved] 2203742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman */ 2213742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman TYPE_UNSPEC("unspec", 103), 2223742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman /** 2233742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * Transaction Key [RFC2930] 2243742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman */ 2253742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman TYPE_TKEY("tkey", 249), 2263742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman /** 2273742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * Transaction Signature [RFC2845] 2283742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman */ 2293742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman TYPE_TSIG("tsig", 250), 2303742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman /** 2313742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * Incremental transfer [RFC1995] 2323742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman */ 2333742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman TYPE_IXFR("ixfr", 251), 2343742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman /** 2353742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * Transfer of an entire zone [RFC1035] 2363742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman */ 2373742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman TYPE_AXFR("axfr", 252), 2383742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman /** 2393742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * Mailbox-related records (MB, MG or MR) [RFC1035] 2403742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman */ 2413742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman TYPE_MAILA("mails", 253), 2423742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman /** 2433742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * Mail agent RRs (Obsolete - see MX) [RFC1035] 2443742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman */ 2453742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman TYPE_MAILB("mailb", 254), 2463742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman /** 2473742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * Request for all records [RFC1035] 2483742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman */ 2493742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman TYPE_ANY("any", 255); 2503742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman 2513742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman private static Logger logger = Logger.getLogger(DNSRecordType.class.getName()); 2523742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman 2533742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman private final String _externalName; 2543742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman 2553742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman private final int _index; 2563742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman 2573742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman DNSRecordType(String name, int index) { 2583742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman _externalName = name; 2593742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman _index = index; 2603742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman } 2613742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman 2623742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman /** 2633742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * Return the string representation of this type 2643742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * 2653742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * @return String 2663742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman */ 2673742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman public String externalName() { 2683742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman return _externalName; 2693742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman } 2703742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman 2713742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman /** 2723742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * Return the numeric value of this type 2733742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * 2743742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * @return String 2753742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman */ 2763742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman public int indexValue() { 2773742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman return _index; 2783742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman } 2793742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman 2803742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman /** 2813742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * @param name 2823742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * @return type for name 2833742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman */ 2843742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman public static DNSRecordType typeForName(String name) { 2853742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman if (name != null) { 2863742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman String aName = name.toLowerCase(); 2873742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman for (DNSRecordType aType : DNSRecordType.values()) { 2883742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman if (aType._externalName.equals(aName)) return aType; 2893742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman } 2903742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman } 2913742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman logger.severe("Could not find record type for name: " + name); 2923742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman return TYPE_IGNORE; 2933742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman } 2943742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman 2953742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman /** 2963742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * @param index 2973742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman * @return type for name 2983742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman */ 2993742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman public static DNSRecordType typeForIndex(int index) { 3003742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman for (DNSRecordType aType : DNSRecordType.values()) { 3013742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman if (aType._index == index) return aType; 3023742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman } 3033742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman logger.severe("Could not find record type for index: " + index); 3043742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman return TYPE_IGNORE; 3053742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman } 3063742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman 3073742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman @Override 3083742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman public String toString() { 3093742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman return this.name() + " index " + this.indexValue(); 3103742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman } 3113742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman 3123742d9db8b6edb10627b0f89336cca5249f1d15aManuel Roman} 313