]> gitweb.fperrin.net Git - Dictionary.git/blob - jars/icu4j-4_4_2-src/tools/misc/src/com/ibm/icu/dev/tool/ime/indic/IndicIMDescriptor.java
go
[Dictionary.git] / jars / icu4j-4_4_2-src / tools / misc / src / com / ibm / icu / dev / tool / ime / indic / IndicIMDescriptor.java
1 /*\r
2  *******************************************************************************\r
3  * Copyright (C) 2004, International Business Machines Corporation and         *\r
4  * others. All Rights Reserved.                                                *\r
5  *******************************************************************************\r
6  */\r
7 \r
8 package com.ibm.icu.dev.tool.ime.indic;\r
9 \r
10 import java.awt.Image;\r
11 import java.awt.im.spi.InputMethod;\r
12 import java.awt.im.spi.InputMethodDescriptor;\r
13 import java.util.Locale;\r
14 import java.util.ResourceBundle;\r
15 \r
16 public abstract class IndicIMDescriptor implements InputMethodDescriptor {\r
17     private final Locale locale;\r
18     private final String name;\r
19 \r
20     protected IndicIMDescriptor(Locale locale, String name) {\r
21     this.locale = locale;\r
22     this.name = name;\r
23     }\r
24 \r
25     protected abstract IndicInputMethodImpl getImpl();\r
26 \r
27     public Locale[] getAvailableLocales() {\r
28         return new Locale[] { locale };\r
29     }\r
30 \r
31     public boolean hasDynamicLocaleList() {\r
32         return false;\r
33     }\r
34 \r
35     public synchronized String getInputMethodDisplayName(Locale inputLocale, Locale displayLanguage) {\r
36     try {\r
37         ResourceBundle rb = ResourceBundle.getBundle("com.ibm.icu.dev.tool.ime.indic.DisplayNames", \r
38                              displayLanguage);\r
39         return rb.getString("DisplayName." + name);\r
40     }\r
41     catch (Throwable t) {\r
42         return name;\r
43     }\r
44     }\r
45 \r
46     public Image getInputMethodIcon(Locale inputLocale) {\r
47         return null;\r
48     }\r
49 \r
50     public InputMethod createInputMethod() throws Exception {\r
51         return new IndicInputMethod(locale, getImpl());\r
52     }\r
53 \r
54     public String toString() {\r
55     return name;\r
56     }\r
57 }\r