Class PersonNameFormatter

java.lang.Object
com.ibm.icu.text.PersonNameFormatter

public class PersonNameFormatter extends Object
A class for formatting names of people. Takes raw name data for a person and renders it into a string according to the caller's specifications, taking into account how people's names are rendered in the caller's locale. The Length, Usage, and Formality options can be used to get a wide variety of results. In English, they would produce results along these lines:
REFERRING ADDRESSING MONOGRAM
FORMAL INFORMAL FORMAL INFORMAL FORMAL INFORMAL
LONG James Earl Carter Jr. Jimmy Carter Mr. Carter Jimmy JEC JC
MEDIUM James E. Carter Jr. Jimmy Carter Mr. Carter Jimmy C J
SHORT J. E. Carter Jimmy Carter Mr. Carter Jimmy C J
  • Constructor Details

    • PersonNameFormatter

      @Deprecated public PersonNameFormatter(Locale locale, String[] patterns)
      Deprecated.
      This API is for unit testing only.
  • Method Details

    • builder

      public static PersonNameFormatter.Builder builder()
      Returns a Builder object that can be used to construct a new PersonNameFormatter.
      Returns:
      A new Builder.
    • toBuilder

      public PersonNameFormatter.Builder toBuilder()
      Returns a Builder object whose fields match those used to construct this formatter, allowing a new formatter to be created based on this one.
      Returns:
      A new Builder that can be used to create a new formatter based on this formatter.
    • formatToString

      public String formatToString(PersonName name)
      Formats a name.
      Parameters:
      name - A PersonName object that supplies individual field values (optionally, with modifiers applied) to the formatter for formatting.
      Returns:
      The name, formatted according to the locale and other parameters passed to the formatter's constructor.
    • toString

      public String toString()
      Deprecated.
      This API is for debugging only.
      Overrides:
      toString in class Object