2 ******************************************************************************
3 * Copyright (C) 2007-2010, International Business Machines Corporation and *
4 * others. All Rights Reserved. *
5 ******************************************************************************
8 package com.ibm.icu.impl.duration;
10 import java.util.Collection;
12 import com.ibm.icu.impl.duration.impl.PeriodFormatterDataService;
13 import com.ibm.icu.impl.duration.impl.ResourceBasedPeriodFormatterDataService;
16 * An implementation of PeriodFormatterService that constructs a
17 * BasicPeriodFormatterFactory.
19 public class BasicPeriodFormatterService implements PeriodFormatterService {
20 private static BasicPeriodFormatterService instance;
21 private PeriodFormatterDataService ds;
24 * Return the default service instance. This uses the default data service.
26 * @return an BasicPeriodFormatterService
28 public static BasicPeriodFormatterService getInstance() {
29 if (instance == null) {
30 PeriodFormatterDataService ds = ResourceBasedPeriodFormatterDataService
32 instance = new BasicPeriodFormatterService(ds);
38 * Construct a BasicPeriodFormatterService using the given
39 * PeriodFormatterDataService.
41 * @param ds the data service to use
43 public BasicPeriodFormatterService(PeriodFormatterDataService ds) {
47 public DurationFormatterFactory newDurationFormatterFactory() {
48 return new BasicDurationFormatterFactory(this);
51 public PeriodFormatterFactory newPeriodFormatterFactory() {
52 return new BasicPeriodFormatterFactory(ds);
55 public PeriodBuilderFactory newPeriodBuilderFactory() {
56 return new BasicPeriodBuilderFactory(ds);
59 public Collection<String> getAvailableLocaleNames() {
60 return ds.getAvailableLocales();