]> gitweb.fperrin.net Git - Dictionary.git/blob - jars/icu4j-4_2_1-src/src/com/ibm/icu/dev/test/TestDataModule.java
icu4jsrc
[Dictionary.git] / jars / icu4j-4_2_1-src / src / com / ibm / icu / dev / test / TestDataModule.java
1 //##header\r
2 /**\r
3  *******************************************************************************\r
4  * Copyright (C) 2001-2009, International Business Machines Corporation and    *\r
5  * others. All Rights Reserved.                                                *\r
6  *******************************************************************************\r
7  */\r
8 package com.ibm.icu.dev.test;\r
9 \r
10 import java.util.Iterator;\r
11 \r
12 /**\r
13  * Represents a collection of test data described in a file.\r
14  * \r
15  */\r
16 public interface TestDataModule {\r
17     /**\r
18      * Return the name of this test data module.\r
19      */\r
20     public String getName();\r
21 \r
22     /**\r
23      * Get additional data related to the module, e.g. DESCRIPTION,\r
24      * global settings.  Might be null.\r
25      */\r
26     public DataMap getInfo();\r
27 \r
28     /**\r
29      * Returns the TestData corresponding to name, or null if name not\r
30      * found in this module.  Throw error if name is not found.  \r
31      * @throws DataModuleFormatError\r
32      */\r
33     public TestData getTestData(String name) throws DataModuleFormatError;\r
34 \r
35     /**\r
36      * @return Iterator<TestData>\r
37      */\r
38     public Iterator getTestDataIterator();\r
39 \r
40     public static class Factory{\r
41 \r
42         static final TestDataModule get(String baseName, String localeName) throws DataModuleFormatError {\r
43             return new ResourceModule(baseName, localeName);\r
44         }\r
45     }\r
46 \r
47     public static class DataModuleFormatError extends Exception{\r
48         /**\r
49          * For serialization\r
50          */\r
51         private static final long serialVersionUID = 4312521272388482529L;\r
52         public DataModuleFormatError(String msg){\r
53             super(msg);\r
54         }\r
55 //#if defined(FOUNDATION10) || defined(J2SE13)\r
56 //#else\r
57         public DataModuleFormatError(String msg, Throwable cause){\r
58             super(msg, cause);\r
59         }\r
60         public DataModuleFormatError(Throwable cause) {\r
61             super(cause);\r
62         }\r
63 //#endif\r
64     }\r
65     \r
66     /**\r
67      * Represents a single test in the module.\r
68      */\r
69     public static interface TestData {\r
70         public String getName();\r
71         /**\r
72          * Get additional data related to the test data, e.g. DESCRIPTION,\r
73          * global settings.  Might be null.\r
74          */\r
75         public DataMap getInfo();\r
76         /**\r
77          * @return Iterator<DataMap>\r
78          */\r
79         public Iterator getSettingsIterator();\r
80         /**\r
81          * @return Iterator<DataMap>\r
82          */\r
83         public Iterator getDataIterator();\r
84     }\r
85 \r
86     /**\r
87      * Map-like interface for accessing key-value pairs by key.\r
88      * If the vaule is not found by given key, return null. \r
89      * The behavior is analogous the get() method of the Map interface.\r
90      * \r
91      * @author Raymond Yang\r
92      */\r
93     public interface DataMap {\r
94 //    public abstract boolean    isDefined(String key);\r
95 //\r
96     public abstract Object     getObject(String key);\r
97     public abstract String     getString(String key);\r
98 //    public abstract char       getChar(String key);\r
99 //    public abstract int        getInt(String key);\r
100 //    public abstract byte       getByte(String key);\r
101 //    public abstract boolean    getBoolean(String key);\r
102 //\r
103 //    public abstract Object[]   getObjectArray(String key);\r
104 //    public abstract String[]   getStringArray(String key);\r
105 //    public abstract char[]     getCharArray(String key);\r
106 //    public abstract int[]      getIntArray(String key);\r
107 //    public abstract byte[]     getByteArray(String key);\r
108 //    public abstract boolean[]  getBooleanArray(String key);\r
109     }\r
110 }\r
111     \r