Classes in this File | Line Coverage | Branch Coverage | Complexity | ||||
Status |
|
| 0.0;0 |
1 | /* | |
2 | * Copyright 2003-2008 the original author or authors. | |
3 | * | |
4 | * Licensed under the Apache License, Version 2.0 (the "License"); | |
5 | * you may not use this file except in compliance with the License. | |
6 | * You may obtain a copy of the License at | |
7 | * | |
8 | * http://www.apache.org/licenses/LICENSE-2.0 | |
9 | * | |
10 | * Unless required by applicable law or agreed to in writing, software | |
11 | * distributed under the License is distributed on an "AS IS" BASIS, | |
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
13 | * See the License for the specific language governing permissions and | |
14 | * limitations under the License. | |
15 | * | |
16 | * You are receiving this code free of charge, which represents many hours of | |
17 | * effort from other individuals and corporations. As a responsible member | |
18 | * of the community, you are asked (but not required) to donate any | |
19 | * enhancements or improvements back to the community under a similar open | |
20 | * source license. Thank you. -TMN | |
21 | */ | |
22 | package groovyx.net.http; | |
23 | ||
24 | /** | |
25 | * Mapping of HTTP response codes to a constant 'success' or 'failure' value. | |
26 | * @author tnichols | |
27 | */ | |
28 | 51 | public enum Status { |
29 | 4 | SUCCESS ( 100, 399 ), |
30 | 4 | FAILURE ( 400, 999 ); |
31 | ||
32 | private final int min, max; | |
33 | ||
34 | @Override public String toString() { | |
35 | 146 | return super.toString().toLowerCase(); |
36 | } | |
37 | ||
38 | public boolean matches( int code ) { | |
39 | 53 | return min <= code && code <= max; |
40 | } | |
41 | ||
42 | /** | |
43 | * Find the Status value that matches the given status code. | |
44 | * @param code HTTP response code | |
45 | * @return a 'success' or 'failure' Status value | |
46 | */ | |
47 | public static Status find( int code ) { | |
48 | 53 | for ( Status s : Status.values() ) |
49 | 53 | if ( s.matches( code ) ) return s; |
50 | 0 | throw new IllegalArgumentException( "Unknown status: " + code ); |
51 | } | |
52 | ||
53 | 8 | private Status( int min, int max ) { |
54 | 8 | this.min = min; this.max = max; |
55 | 8 | } |
56 | } |