Clover Coverage Report - JmDNS 3.4.1
Coverage timestamp: Thu Aug 25 2011 13:06:33 CEST
../../../../img/srcFileCovDistChart0.png 77% of files have more coverage
15   149   8   2.5
4   48   0.53   6
6     1.33  
1    
 
  DNSResultCode       Line # 11 15 0% 8 25 0% 0.0
 
No Tests
 
1    /**
2    *
3    */
4    package javax.jmdns.impl.constants;
5   
6    /**
7    * DNS result code.
8    *
9    * @author Arthur van Hoff, Jeff Sonstein, Werner Randelshofer, Pierre Frisch, Rick Blair
10    */
 
11    public enum DNSResultCode {
12    /**
13    * Token
14    */
15    Unknown("Unknown", 65535),
16    /**
17    * No Error [RFC1035]
18    */
19    NoError("No Error", 0),
20    /**
21    * Format Error [RFC1035]
22    */
23    FormErr("Format Error", 1),
24    /**
25    * Server Failure [RFC1035]
26    */
27    ServFail("Server Failure", 2),
28    /**
29    * Non-Existent Domain [RFC1035]
30    */
31    NXDomain("Non-Existent Domain", 3),
32    /**
33    * Not Implemented [RFC1035]
34    */
35    NotImp("Not Implemented", 4),
36    /**
37    * Query Refused [RFC1035]
38    */
39    Refused("Query Refused", 5),
40    /**
41    * Name Exists when it should not [RFC2136]
42    */
43    YXDomain("Name Exists when it should not", 6),
44    /**
45    * RR Set Exists when it should not [RFC2136]
46    */
47    YXRRSet("RR Set Exists when it should not", 7),
48    /**
49    * RR Set that should exist does not [RFC2136]
50    */
51    NXRRSet("RR Set that should exist does not", 8),
52    /**
53    * Server Not Authoritative for zone [RFC2136]]
54    */
55    NotAuth("Server Not Authoritative for zone", 9),
56    /**
57    * Name not contained in zone [RFC2136]
58    */
59    NotZone("NotZone Name not contained in zone", 10),
60   
61    ;
62   
63    // 0 NoError No Error [RFC1035]
64    // 1 FormErr Format Error [RFC1035]
65    // 2 ServFail Server Failure [RFC1035]
66    // 3 NXDomain Non-Existent Domain [RFC1035]
67    // 4 NotImp Not Implemented [RFC1035]
68    // 5 Refused Query Refused [RFC1035]
69    // 6 YXDomain Name Exists when it should not [RFC2136]
70    // 7 YXRRSet RR Set Exists when it should not [RFC2136]
71    // 8 NXRRSet RR Set that should exist does not [RFC2136]
72    // 9 NotAuth Server Not Authoritative for zone [RFC2136]
73    // 10 NotZone Name not contained in zone [RFC2136]
74    // 11-15 Unassigned
75    // 16 BADVERS Bad OPT Version [RFC2671]
76    // 16 BADSIG TSIG Signature Failure [RFC2845]
77    // 17 BADKEY Key not recognized [RFC2845]
78    // 18 BADTIME Signature out of time window [RFC2845]
79    // 19 BADMODE Bad TKEY Mode [RFC2930]
80    // 20 BADNAME Duplicate key name [RFC2930]
81    // 21 BADALG Algorithm not supported [RFC2930]
82    // 22 BADTRUNC Bad Truncation [RFC4635]
83    // 23-3840 Unassigned
84    // 3841-4095 Reserved for Private Use [RFC5395]
85    // 4096-65534 Unassigned
86    // 65535 Reserved, can be allocated by Standards Action [RFC5395]
87   
88    /**
89    * DNS Result Code types are encoded on the last 4 bits
90    */
91    final static int RCode_MASK = 0x0F;
92    /**
93    * DNS Extended Result Code types are encoded on the first 8 bits
94    */
95    final static int ExtendedRCode_MASK = 0xFF;
96   
97    private final String _externalName;
98   
99    private final int _index;
100   
 
101  0 toggle DNSResultCode(String name, int index) {
102  0 _externalName = name;
103  0 _index = index;
104    }
105   
106    /**
107    * Return the string representation of this type
108    *
109    * @return String
110    */
 
111  0 toggle public String externalName() {
112  0 return _externalName;
113    }
114   
115    /**
116    * Return the numeric value of this type
117    *
118    * @return String
119    */
 
120  0 toggle public int indexValue() {
121  0 return _index;
122    }
123   
124    /**
125    * @param flags
126    * @return label
127    */
 
128  0 toggle public static DNSResultCode resultCodeForFlags(int flags) {
129  0 int maskedIndex = flags & RCode_MASK;
130  0 for (DNSResultCode aCode : DNSResultCode.values()) {
131  0 if (aCode._index == maskedIndex) return aCode;
132    }
133  0 return Unknown;
134    }
135   
 
136  0 toggle public static DNSResultCode resultCodeForFlags(int flags, int extendedRCode) {
137  0 int maskedIndex = ((extendedRCode >> 28) & ExtendedRCode_MASK) | (flags & RCode_MASK);
138  0 for (DNSResultCode aCode : DNSResultCode.values()) {
139  0 if (aCode._index == maskedIndex) return aCode;
140    }
141  0 return Unknown;
142    }
143   
 
144  0 toggle @Override
145    public String toString() {
146  0 return this.name() + " index " + this.indexValue();
147    }
148   
149    }