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