1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 package org.apache.directory.server.ntp.messages;
22
23
24 import java.util.Arrays;
25 import java.util.Collections;
26 import java.util.List;
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46 public class ReferenceIdentifier implements Comparable<ReferenceIdentifier>
47 {
48
49
50
51 public static final ReferenceIdentifier INIT = new ReferenceIdentifier( 0, "INIT", "initializing" );
52
53
54
55
56 public static final ReferenceIdentifier LOCL = new ReferenceIdentifier( 1, "LOCL", "uncalibrated local clock" );
57
58
59
60
61 public static final ReferenceIdentifier PPS = new ReferenceIdentifier( 2, "PPL", "pulse-per-second source" );
62
63
64
65
66 public static final ReferenceIdentifier ACTS = new ReferenceIdentifier( 3, "ACTS", "NIST dialup modem service" );
67
68
69
70
71 public static final ReferenceIdentifier USNO = new ReferenceIdentifier( 4, "USNO", "USNO modem service" );
72
73
74
75
76 public static final ReferenceIdentifier PTB = new ReferenceIdentifier( 5, "PTB", "PTB (Germany) modem service" );
77
78
79
80
81 public static final ReferenceIdentifier TDF = new ReferenceIdentifier( 6, "TDF", "Allouis (France) Radio 164 kHz" );
82
83
84
85
86 public static final ReferenceIdentifier DCF = new ReferenceIdentifier( 7, "DCF",
87 "Mainflingen (Germany) Radio 77.5 kHz" );
88
89
90
91
92 public static final ReferenceIdentifier MSF = new ReferenceIdentifier( 8, "MSF", "Rugby (UK) Radio 60 kHz" );
93
94
95
96
97 public static final ReferenceIdentifier WWV = new ReferenceIdentifier( 9, "WWV",
98 "Ft. Collins (US) Radio 2.5, 5, 10, 15, 20 MHz" );
99
100
101
102
103 public static final ReferenceIdentifier WWVB = new ReferenceIdentifier( 10, "WWVB", "Boulder (US) Radio 60 kHz" );
104
105
106
107
108 public static final ReferenceIdentifier WWVH = new ReferenceIdentifier( 11, "WWVH",
109 "Kaui Hawaii (US) Radio 2.5, 5, 10, 15 MHz" );
110
111
112
113
114 public static final ReferenceIdentifier CHU = new ReferenceIdentifier( 12, "CHU",
115 "Ottawa (Canada) Radio 3330, 7335, 14670 kHz" );
116
117
118
119
120 public static final ReferenceIdentifier LORC = new ReferenceIdentifier( 13, "LORC",
121 "LORAN-C radionavigation system" );
122
123
124
125
126 public static final ReferenceIdentifier OMEG = new ReferenceIdentifier( 14, "OMEG", "OMEGA radionavigation system" );
127
128
129
130
131 public static final ReferenceIdentifier GPS = new ReferenceIdentifier( 15, "GPS", "Global Positioning Service" );
132
133
134
135
136 public static final ReferenceIdentifier GOES = new ReferenceIdentifier( 16, "GOES",
137 "Geostationary Orbit Environment Satellite" );
138
139
140
141
142 public static final ReferenceIdentifier CDMA = new ReferenceIdentifier( 17, "CDMA",
143 "CDMA mobile cellular/PCS telephone system" );
144
145
146
147
148 private static final ReferenceIdentifier[] values =
149 { INIT, LOCL, PPS, ACTS, USNO, PTB, TDF, DCF, MSF, WWV, WWVB, WWVH, CHU, LORC, OMEG, GPS, GOES, CDMA };
150
151
152
153
154 public static final List<ReferenceIdentifier> VALUES = Collections.unmodifiableList( Arrays.asList( values ) );
155
156
157
158
159 private final int ordinal;
160
161
162
163
164 private final String name;
165
166
167
168
169 private final String code;
170
171
172
173
174
175 private ReferenceIdentifier( int ordinal, String code, String name )
176 {
177 this.ordinal = ordinal;
178 this.code = code;
179 this.name = name;
180 }
181
182
183
184
185
186
187
188
189 public static ReferenceIdentifier getTypeByOrdinal( int type )
190 {
191 for ( int ii = 0; ii < values.length; ii++ )
192 {
193 if ( values[ii].ordinal == type )
194 {
195 return values[ii];
196 }
197 }
198
199 return LOCL;
200 }
201
202
203
204
205
206
207
208
209 public static ReferenceIdentifier getTypeByName( String type )
210 {
211 for ( int ii = 0; ii < values.length; ii++ )
212 {
213 if ( values[ii].code.equalsIgnoreCase( type ) )
214 {
215 return values[ii];
216 }
217 }
218
219 return LOCL;
220 }
221
222
223
224
225
226
227
228 public String getCode()
229 {
230 return code;
231 }
232
233
234
235
236
237
238
239 public int getOrdinal()
240 {
241 return ordinal;
242 }
243
244
245 public int compareTo( ReferenceIdentifier that )
246 {
247 return ordinal - that.ordinal;
248 }
249
250
251 public String toString()
252 {
253 return name;
254 }
255 }