Home | History | Annotate | Download | only in duration
      1 /* GENERATED SOURCE. DO NOT MODIFY. */
      2 //  2016 and later: Unicode, Inc. and others.
      3 // License & terms of use: http://www.unicode.org/copyright.html#License
      4 /*
      5 ******************************************************************************
      6 * Copyright (C) 2009, International Business Machines Corporation and   *
      7 * others. All Rights Reserved.                                               *
      8 ******************************************************************************
      9 */
     10 
     11 package android.icu.impl.duration;
     12 
     13 import java.util.TimeZone;
     14 
     15 /**
     16  * Factory used to construct DurationFormatters.
     17  * Formatters are immutable once created.
     18  * <p>
     19  * Setters on the factory mutate the factory and return it,
     20  * for chaining.
     21  * @hide Only a subset of ICU is exposed in Android
     22  */
     23 public interface DurationFormatterFactory {
     24 
     25   /**
     26    * Set the period formatter used by the factory.  New formatters created
     27    * with this factory will use the given period formatter.
     28    *
     29    * @param formatter the formatter to use
     30    * @return this DurationFormatterFactory
     31    */
     32   public DurationFormatterFactory setPeriodFormatter(PeriodFormatter formatter);
     33 
     34   /**
     35    * Set the builder used by the factory.  New formatters created
     36    * with this factory will use the given locale.
     37    *
     38    * @param builder the builder to use
     39    * @return this DurationFormatterFactory
     40    */
     41   public DurationFormatterFactory setPeriodBuilder(PeriodBuilder builder);
     42 
     43   /**
     44    * Set a fallback formatter for durations over a given limit.
     45    *
     46    * @param fallback the fallback formatter to use, or null
     47    * @return this DurationFormatterFactory
     48    */
     49   public DurationFormatterFactory setFallback(DateFormatter fallback);
     50 
     51   /**
     52    * Set a fallback limit for durations over a given limit.
     53    *
     54    * @param fallbackLimit the fallback limit to use, or 0 if none is desired.
     55    * @return this DurationFormatterFactory
     56    */
     57   public DurationFormatterFactory setFallbackLimit(long fallbackLimit);
     58 
     59   /**
     60    * Set the name of the locale that will be used when
     61    * creating new formatters.
     62    *
     63    * @param localeName the name of the Locale
     64    * @return this DurationFormatterFactory
     65    */
     66   public DurationFormatterFactory setLocale(String localeName);
     67 
     68   /**
     69    * Set the name of the locale that will be used when
     70    * creating new formatters.
     71    *
     72    * @param timeZone The time zone to set.
     73    * @return this DurationFormatterFactory
     74    */
     75   public DurationFormatterFactory setTimeZone(TimeZone timeZone);
     76 
     77   /**
     78    * Return a formatter based on this factory's current settings.
     79    *
     80    * @return a DurationFormatter
     81    */
     82   public DurationFormatter getFormatter();
     83 }
     84