2 ******************************************************************************
\r
3 * Copyright (C) 2007, International Business Machines Corporation and *
\r
4 * others. All Rights Reserved. *
\r
5 ******************************************************************************
\r
8 package com.ibm.icu.impl.duration;
\r
10 import com.ibm.icu.impl.duration.impl.PeriodFormatterDataService;
\r
11 import com.ibm.icu.impl.duration.impl.ResourceBasedPeriodFormatterDataService;
\r
13 import java.util.Collection;
\r
16 * An implementation of PeriodFormatterService that constructs a
\r
17 * BasicPeriodFormatterFactory.
\r
19 public class BasicPeriodFormatterService implements PeriodFormatterService {
\r
20 private static BasicPeriodFormatterService instance;
\r
21 private PeriodFormatterDataService ds;
\r
24 * Return the default service instance. This uses the
\r
25 * default data service.
\r
27 * @return an BasicPeriodFormatterService
\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
39 * Construct a BasicPeriodFormatterService using the given
\r
40 * PeriodFormatterDataService.
\r
42 * @param ds the data service to use
\r
44 public BasicPeriodFormatterService(PeriodFormatterDataService ds) {
\r
48 public DurationFormatterFactory newDurationFormatterFactory() {
\r
49 return new BasicDurationFormatterFactory(this);
\r
52 public PeriodFormatterFactory newPeriodFormatterFactory() {
\r
53 return new BasicPeriodFormatterFactory(ds);
\r
56 public PeriodBuilderFactory newPeriodBuilderFactory() {
\r
57 return new BasicPeriodBuilderFactory(ds);
\r
60 public Collection getAvailableLocaleNames() {
\r
61 return ds.getAvailableLocales();
\r