| // © 2016 and later: Unicode, Inc. and others. |
| // License & terms of use: http://www.unicode.org/copyright.html#License |
| /* |
| ****************************************************************************** |
| * Copyright (C) 2007, International Business Machines Corporation and * |
| * others. All Rights Reserved. * |
| ****************************************************************************** |
| */ |
| |
| package com.ibm.icu.impl.duration; |
| |
| /** |
| * Abstract factory interface used to create PeriodFormatters. |
| * PeriodFormatters are immutable once created. |
| * <p> |
| * Setters on the factory mutate the factory and return it, |
| * for chaining. |
| */ |
| public interface PeriodFormatterFactory { |
| |
| /** |
| * Set the name of the locale that will be used when |
| * creating new formatters. |
| * |
| * @param localeName the name of the Locale |
| * @return this PeriodFormatterFactory |
| */ |
| public PeriodFormatterFactory setLocale(String localeName); |
| |
| /** |
| * Set whether limits will be displayed. |
| * |
| * @param display true if limits will be displayed |
| * @return this PeriodFormatterFactory |
| */ |
| public PeriodFormatterFactory setDisplayLimit(boolean display); |
| |
| /** |
| * Set whether past and future will be displayed. |
| * |
| * @param display true if past and future will be displayed |
| * @return this PeriodFormatterFactory |
| */ |
| public PeriodFormatterFactory setDisplayPastFuture(boolean display); |
| |
| /** |
| * Set how separators will be displayed. |
| * |
| * @param variant the variant indicating how separators will be displayed |
| * @return this PeriodFormatterFactory |
| */ |
| public PeriodFormatterFactory setSeparatorVariant(int variant); |
| |
| /** |
| * Set the variant of the time unit names to use. |
| * |
| * @param variant the variant to use |
| * @return this PeriodFormatterFactory |
| */ |
| public PeriodFormatterFactory setUnitVariant(int variant); |
| |
| /** |
| * Set the variant of the count to use. |
| * |
| * @param variant the variant to use |
| * @return this PeriodFormatterFactory |
| */ |
| public PeriodFormatterFactory setCountVariant(int variant); |
| |
| /** |
| * Return a formatter based on this factory's current settings. |
| * |
| * @return a PeriodFormatter |
| */ |
| public PeriodFormatter getFormatter(); |
| } |