183 }
184
185 public static int getRrclass(String className) {
186 return nameToValue(className, rrClassNames);
187 }
188
189 private static String valueToName(int val, String[] names) {
190 String name = null;
191 if ((val > 0) && (val < names.length)) {
192 name = names[val];
193 } else if (val == QTYPE_STAR) { // QTYPE_STAR == QCLASS_STAR
194 name = "*";
195 }
196 if (name == null) {
197 name = Integer.toString(val);
198 }
199 return name;
200 }
201
202 private static int nameToValue(String name, String[] names) {
203 if (name.equals("")) {
204 return -1; // invalid name
205 } else if (name.equals("*")) {
206 return QTYPE_STAR; // QTYPE_STAR == QCLASS_STAR
207 }
208 if (Character.isDigit(name.charAt(0))) {
209 try {
210 return Integer.parseInt(name);
211 } catch (NumberFormatException e) {
212 }
213 }
214 for (int i = 1; i < names.length; i++) {
215 if ((names[i] != null) &&
216 name.equalsIgnoreCase(names[i])) {
217 return i;
218 }
219 }
220 return -1; // unknown name
221 }
222
223 /*
|
183 }
184
185 public static int getRrclass(String className) {
186 return nameToValue(className, rrClassNames);
187 }
188
189 private static String valueToName(int val, String[] names) {
190 String name = null;
191 if ((val > 0) && (val < names.length)) {
192 name = names[val];
193 } else if (val == QTYPE_STAR) { // QTYPE_STAR == QCLASS_STAR
194 name = "*";
195 }
196 if (name == null) {
197 name = Integer.toString(val);
198 }
199 return name;
200 }
201
202 private static int nameToValue(String name, String[] names) {
203 if (name.isEmpty()) {
204 return -1; // invalid name
205 } else if (name.equals("*")) {
206 return QTYPE_STAR; // QTYPE_STAR == QCLASS_STAR
207 }
208 if (Character.isDigit(name.charAt(0))) {
209 try {
210 return Integer.parseInt(name);
211 } catch (NumberFormatException e) {
212 }
213 }
214 for (int i = 1; i < names.length; i++) {
215 if ((names[i] != null) &&
216 name.equalsIgnoreCase(names[i])) {
217 return i;
218 }
219 }
220 return -1; // unknown name
221 }
222
223 /*
|