]> gitweb.fperrin.net Git - Dictionary.git/blob - jars/icu4j-52_1/main/tests/core/src/com/ibm/icu/dev/test/util/DebugUtilities.java
Upgrade ICU4J.
[Dictionary.git] / jars / icu4j-52_1 / main / tests / core / src / com / ibm / icu / dev / test / util / DebugUtilities.java
1 /*
2  *******************************************************************************
3  * Copyright (C) 2007, International Business Machines Corporation and         *
4  * others. All Rights Reserved.                                                *
5  *******************************************************************************
6  */
7 package com.ibm.icu.dev.test.util;
8
9 /**
10  * @author srl
11  *
12  */
13
14 public class DebugUtilities {
15     
16     /**
17      * Count enum types
18      * @return the number of enum types available, starting at 0
19      */
20     public static int typeCount() {
21         return DebugUtilitiesData.TYPES.length;
22     }
23     
24     /**
25      * Fetch the name of a particular type of enum
26      * @param type the enum type
27      * @return the name of the enum
28      */
29     public static String typeString(int type) {
30         return enumString(DebugUtilitiesData.UDebugEnumType, type);
31     }
32
33     /**
34      * Count the number of available enum values for an item, from 0
35      * @param type which enum to look up, such as DebugUtilitiesData.UCalendarDateFields
36      * @return the number of available enum values
37      */
38     public static int enumCount(int type) {
39         return DebugUtilitiesData.NAMES[type].length;
40     }
41     
42     /**
43      * Fetch the name of an enum
44      * @param type which enum to look up, such as DebugUtilitiesData.UCalendarDateFields
45      * @param field which enum value to look up
46      * @return the found name. Will throw an exception on out of bounds.
47      */
48     public static String enumString(int type, int field) {
49         return DebugUtilitiesData.NAMES[type][field];
50     }
51     
52     /**
53      * Lookup an enum by string
54      * @param type which enum to look up, such as DebugUtilitiesData.UCalendarDateFields
55      * @param string the string to search for
56      * @return the found enum value, or -1 if not found
57      */
58     public static int enumByString(int type, String string) {
59         for(int j=0;j<DebugUtilitiesData.NAMES[type].length;j++) {
60             if(string.equals(DebugUtilitiesData.NAMES[type][j])) {
61                 return j;
62             }
63         }
64         return -1;
65     }
66     
67     /**
68      * for consistency checking
69      * @param type the type of enum
70      * @return the expected ordinal value (should be equal to "field")
71      * @internal
72      */
73     public static int enumArrayValue(int type, int field) {
74         return DebugUtilitiesData.VALUES[type][field];
75     }
76
77 }