]> gitweb.fperrin.net Git - Dictionary.git/blob - jars/icu4j-4_4_2-src/main/tests/core/src/com/ibm/icu/dev/test/util/DateTimeStyleSet.java
go
[Dictionary.git] / jars / icu4j-4_4_2-src / main / tests / core / src / com / ibm / icu / dev / test / util / DateTimeStyleSet.java
1 /*\r
2  *******************************************************************************\r
3  * Copyright (C) 2007, International Business Machines Corporation and         *\r
4  * others. All Rights Reserved.                                                *\r
5  *******************************************************************************\r
6  */\r
7 package com.ibm.icu.dev.test.util;\r
8 \r
9 import com.ibm.icu.text.DateFormat;\r
10 \r
11 /**\r
12  * @author srl\r
13  *\r
14  */\r
15 public class DateTimeStyleSet extends FieldsSet {\r
16 \r
17     private static final int DTS_DATE = 0;\r
18     private static final String kDATE = "DATE";\r
19     private static final int DTS_TIME = 1;\r
20     private static final String kTIME = "TIME";\r
21     private static final int DTS_COUNT = 2;\r
22     \r
23     private static final String kRELATIVE_ = "RELATIVE_";\r
24     \r
25     private int getOrNone(int which) {\r
26         if(!isSet(which)) {\r
27             return DateFormat.NONE;\r
28         } else {\r
29             return get(which);\r
30         }\r
31     }\r
32     \r
33     public DateTimeStyleSet() {\r
34         super(FieldsSet.NO_ENUM, DTS_COUNT);\r
35     }\r
36     \r
37     public int getDateStyle() {\r
38         return getOrNone(DTS_DATE);\r
39     }\r
40     \r
41     public int getTimeStyle() {\r
42         return getOrNone(DTS_TIME);\r
43     }\r
44     \r
45     protected void handleParseValue(FieldsSet inheritFrom, int field, String substr) {\r
46         if(substr.startsWith(kRELATIVE_)) {\r
47             parseValueEnum(DebugUtilitiesData.UDateFormatStyle, inheritFrom, field, substr.substring(kRELATIVE_.length()));\r
48             if(isSet(field)) {\r
49                 set(field, get(field) | DateFormat.RELATIVE);\r
50             }\r
51         } else {\r
52             parseValueEnum(DebugUtilitiesData.UDateFormatStyle, inheritFrom, field, substr);\r
53         }\r
54     }\r
55     \r
56     protected int handleParseName(FieldsSet inheritFrom, String name, String substr) {\r
57         if(name.equals(kDATE)) {\r
58             return DTS_DATE;\r
59         } else if(name.equals(kTIME)) {\r
60             return DTS_TIME;\r
61         } else {\r
62             throw new IllegalArgumentException("Bad field: " + name);\r
63         }\r
64     }\r
65 }\r