1
// Copyright (c) 1999-2004 Brian Wellington (bwelling@xbill.org)
6
* Constants and functions relating to DNS classes. This is called DClass
7
* to avoid confusion with Class.
9
* @author Brian Wellington
12
public final class DClass {
15
public static final int IN = 1;
17
/** Chaos network (MIT) */
18
public static final int CH = 3;
20
/** Chaos network (MIT, alternate name) */
21
public static final int CHAOS = 3;
23
/** Hesiod name server (MIT) */
24
public static final int HS = 4;
26
/** Hesiod name server (MIT, alternate name) */
27
public static final int HESIOD = 4;
29
/** Special value used in dynamic update messages */
30
public static final int NONE = 254;
32
/** Matches any class */
33
public static final int ANY = 255;
35
private static class DClassMnemonic extends Mnemonic {
38
super("DClass", CASE_UPPER);
48
private static Mnemonic classes = new DClassMnemonic();
51
classes.add(IN, "IN");
52
classes.add(CH, "CH");
53
classes.addAlias(CH, "CHAOS");
54
classes.add(HS, "HS");
55
classes.addAlias(HS, "HESIOD");
56
classes.add(NONE, "NONE");
57
classes.add(ANY, "ANY");
65
if (i < 0 || i > 0xFFFF)
66
throw new InvalidDClassException(i);
70
* Converts a numeric DClass into a String
71
* @return The canonical string representation of the class
72
* @throws InvalidDClassException The class is out of range.
76
return classes.getText(i);
80
* Converts a String representation of a DClass into its numeric value
81
* @return The class code, or -1 on error.
85
return classes.getValue(s);