]> gitweb.fperrin.net Git - Dictionary.git/blob - jars/icu4j-4_4_2-src/main/classes/core/src/com/ibm/icu/impl/duration/BasicPeriodFormatterService.java
go
[Dictionary.git] / jars / icu4j-4_4_2-src / main / classes / core / src / com / ibm / icu / impl / duration / BasicPeriodFormatterService.java
1 /*\r
2  ******************************************************************************\r
3  * Copyright (C) 2007-2009, 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 default data service.\r
25      * \r
26      * @return an BasicPeriodFormatterService\r
27      */\r
28     public static BasicPeriodFormatterService getInstance() {\r
29         if (instance == null) {\r
30             PeriodFormatterDataService ds = ResourceBasedPeriodFormatterDataService\r
31                     .getInstance();\r
32             instance = new BasicPeriodFormatterService(ds);\r
33         }\r
34         return instance;\r
35     }\r
36 \r
37     /**\r
38      * Construct a BasicPeriodFormatterService using the given\r
39      * PeriodFormatterDataService.\r
40      * \r
41      * @param ds the data service to use\r
42      */\r
43     public BasicPeriodFormatterService(PeriodFormatterDataService ds) {\r
44         this.ds = ds;\r
45     }\r
46 \r
47     public DurationFormatterFactory newDurationFormatterFactory() {\r
48         return new BasicDurationFormatterFactory(this);\r
49     }\r
50 \r
51     public PeriodFormatterFactory newPeriodFormatterFactory() {\r
52         return new BasicPeriodFormatterFactory(ds);\r
53     }\r
54 \r
55     public PeriodBuilderFactory newPeriodBuilderFactory() {\r
56         return new BasicPeriodBuilderFactory(ds);\r
57     }\r
58 \r
59     public Collection<String> getAvailableLocaleNames() {\r
60         return ds.getAvailableLocales();\r
61     }\r
62 }\r