blob: a3363f180a233af1559a60e71d933ad5b4cdd7df [file] [log] [blame]
/*
******************************************************************************
* Copyright (C) 2007, International Business Machines Corporation and *
* others. All Rights Reserved. *
******************************************************************************
*/
package com.ibm.icu.impl.duration;
/**
* Formats a Period, such as '2 hours 23 minutes'.
* The Period defines the fields to format and their
* values, and the formatter defines how to format them.
* <p>
* PeriodFormatters are immutable.
* <p>
* PeriodFormatter can be instantiated using a PeriodFormatterFactory.
*
* @see Period
* @see PeriodBuilder
* @see PeriodFormatterFactory
*/
public interface PeriodFormatter {
/**
* Format a Period.
*
* @param ts the Period to format
* @return the formatted time
*/
String format(Period period);
/**
* Return a new PeriodFormatter with the same customizations but
* using data for a new locale. Some locales impose limits on the
* fields that can be directly formatter.
*
* @param localeName the name of the new locale
* @return a new formatter for the given locale
*/
PeriodFormatter withLocale(String localeName);
}