Package com.ibm.icu.impl.personname
Class PersonNamePattern
- java.lang.Object
-
- com.ibm.icu.impl.personname.PersonNamePattern
-
class PersonNamePattern extends java.lang.Object
A single name formatting pattern, corresponding to a single namePattern element in CLDR.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static interface
PersonNamePattern.Element
A single element in a NamePattern.private static class
PersonNamePattern.GivenToSurnamePersonName
Internal class used when formatting a mononym (a PersonName object that only has a given-name field).private static class
PersonNamePattern.LiteralText
Literal text from a name pattern.private static class
PersonNamePattern.NameFieldImpl
An actual name field in a NamePattern (i.e., the stuff represented in the pattern by text in braces).
-
Field Summary
Fields Modifier and Type Field Description private PersonNamePattern.Element[]
patternElements
private java.lang.String
patternText
-
Constructor Summary
Constructors Modifier Constructor Description private
PersonNamePattern(java.lang.String patternText, PersonNameFormatterImpl formatterImpl)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private java.lang.String
coalesce(java.lang.StringBuilder s1, java.lang.StringBuilder s2)
Stitches together the literal text on either side of an omitted field by deleting any non-whitespace characters immediately neighboring the omitted field and coalescing any adjacent spaces at the join point down to one.private boolean
endsWith(java.lang.StringBuilder s1, java.lang.StringBuilder s2)
Returns true if s1 ends with s2.java.lang.String
format(PersonName name)
private PersonName
hackNameForEmptyFields(PersonName originalName)
static PersonNamePattern[]
makePatterns(java.lang.String[] patternText, PersonNameFormatterImpl formatterImpl)
int
numEmptyFields(PersonName name)
int
numPopulatedFields(PersonName name)
java.lang.String
toString()
-
-
-
Field Detail
-
patternText
private java.lang.String patternText
-
patternElements
private PersonNamePattern.Element[] patternElements
-
-
Constructor Detail
-
PersonNamePattern
private PersonNamePattern(java.lang.String patternText, PersonNameFormatterImpl formatterImpl)
-
-
Method Detail
-
makePatterns
public static PersonNamePattern[] makePatterns(java.lang.String[] patternText, PersonNameFormatterImpl formatterImpl)
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
format
public java.lang.String format(PersonName name)
-
numPopulatedFields
public int numPopulatedFields(PersonName name)
-
numEmptyFields
public int numEmptyFields(PersonName name)
-
coalesce
private java.lang.String coalesce(java.lang.StringBuilder s1, java.lang.StringBuilder s2)
Stitches together the literal text on either side of an omitted field by deleting any non-whitespace characters immediately neighboring the omitted field and coalescing any adjacent spaces at the join point down to one.- Parameters:
s1
- The literal text before the omitted field.s2
- The literal text after the omitted field.
-
endsWith
private boolean endsWith(java.lang.StringBuilder s1, java.lang.StringBuilder s2)
Returns true if s1 ends with s2.
-
hackNameForEmptyFields
private PersonName hackNameForEmptyFields(PersonName originalName)
-
-