]> gitweb.fperrin.net Git - Dictionary.git/blob - jars/icu4j-4_2_1-src/src/com/ibm/icu/impl/duration/BasicPeriodFormatterService.java
icu4jsrc
[Dictionary.git] / jars / icu4j-4_2_1-src / src / com / ibm / icu / impl / duration / BasicPeriodFormatterService.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 \r
8 package com.ibm.icu.impl.duration;\r
9 \r
10 import com.ibm.icu.impl.duration.impl.PeriodFormatterDataService;\r
11 import com.ibm.icu.impl.duration.impl.ResourceBasedPeriodFormatterDataService;\r
12 \r
13 import java.util.Collection;\r
14 \r
15 /**\r
16  * An implementation of PeriodFormatterService that constructs a\r
17  * BasicPeriodFormatterFactory.\r
18  */\r
19 public class BasicPeriodFormatterService implements PeriodFormatterService {\r
20   private static BasicPeriodFormatterService instance;\r
21   private PeriodFormatterDataService ds;\r
22 \r
23   /**\r
24    * Return the default service instance.  This uses the\r
25    * default data service.\r
26    *\r
27    * @return an BasicPeriodFormatterService\r
28    */\r
29   public static BasicPeriodFormatterService getInstance() {\r
30     if (instance == null) {\r
31      PeriodFormatterDataService ds = \r
32          ResourceBasedPeriodFormatterDataService.getInstance();\r
33       instance = new BasicPeriodFormatterService(ds);\r
34     }\r
35     return instance;\r
36   }\r
37 \r
38   /**\r
39    * Construct a BasicPeriodFormatterService using the given \r
40    * PeriodFormatterDataService.\r
41    *\r
42    * @param ds the data service to use\r
43    */\r
44   public BasicPeriodFormatterService(PeriodFormatterDataService ds) {\r
45     this.ds = ds;\r
46   }\r
47 \r
48   public DurationFormatterFactory newDurationFormatterFactory() {\r
49     return new BasicDurationFormatterFactory(this);\r
50   }\r
51 \r
52   public PeriodFormatterFactory newPeriodFormatterFactory() {\r
53     return new BasicPeriodFormatterFactory(ds);\r
54   }\r
55 \r
56   public PeriodBuilderFactory newPeriodBuilderFactory() {\r
57     return new BasicPeriodBuilderFactory(ds);\r
58   }\r
59 \r
60   public Collection getAvailableLocaleNames() {\r
61     return ds.getAvailableLocales();\r
62   }\r
63 }\r