Class Collator.CollatorFactory

  • Enclosing class:
    Collator

    public abstract static class Collator.CollatorFactory
    extends Object
    A factory used with registerFactory to register multiple collators and provide display names for them. If standard locale display names are sufficient, Collator instances may be registered instead.

    Note: as of ICU4J 3.2, the default API for CollatorFactory uses ULocale instead of Locale. Instead of overriding createCollator(Locale), new implementations should override createCollator(ULocale). Note that one of these two methods MUST be overridden or else an infinite loop will occur.

    • Constructor Detail

      • CollatorFactory

        protected CollatorFactory()
        Empty default constructor.
    • Method Detail

      • visible

        public boolean visible()
        Return true if this factory will be visible. Default is true. If not visible, the locales supported by this factory will not be listed by getAvailableLocales.
        Returns:
        true if this factory is visible
      • createCollator

        public Collator createCollator​(ULocale loc)
        Return an instance of the appropriate collator. If the locale is not supported, return null. Note: as of ICU4J 3.2, implementations should override this method instead of createCollator(Locale).
        Parameters:
        loc - the locale for which this collator is to be created.
        Returns:
        the newly created collator.
      • createCollator

        public Collator createCollator​(Locale loc)
        Return an instance of the appropriate collator. If the locale is not supported, return null.

        Note: as of ICU4J 3.2, implementations should override createCollator(ULocale) instead of this method, and inherit this method's implementation. This method is no longer abstract and instead delegates to createCollator(ULocale).

        Parameters:
        loc - the locale for which this collator is to be created.
        Returns:
        the newly created collator.
      • getDisplayName

        public String getDisplayName​(Locale objectLocale,
                                     Locale displayLocale)
        Return the name of the collator for the objectLocale, localized for the displayLocale. If objectLocale is not visible or not defined by the factory, return null.
        Parameters:
        objectLocale - the locale identifying the collator
        displayLocale - the locale for which the display name of the collator should be localized
        Returns:
        the display name
      • getDisplayName

        public String getDisplayName​(ULocale objectLocale,
                                     ULocale displayLocale)
        Return the name of the collator for the objectLocale, localized for the displayLocale. If objectLocale is not visible or not defined by the factory, return null.
        Parameters:
        objectLocale - the locale identifying the collator
        displayLocale - the locale for which the display name of the collator should be localized
        Returns:
        the display name
      • getSupportedLocaleIDs

        public abstract Set<String> getSupportedLocaleIDs()
        Return an unmodifiable collection of the locale names directly supported by this factory.
        Returns:
        the set of supported locale IDs.