public class EnglishPluralizer extends RuleBasedPluralizer
Based upon the paper "An Algorithmic Approach to English Pluralization" by Damian Conway at http://www.csse.monash.edu.au/~damian/papers/HTML/Plurals.html .
Original code written by Tom White under the Apache v2 license. Modified by Philip R. Burns for integration into MorphAdorner.
Modifier and Type | Field and Description |
---|---|
protected static java.util.Map<java.lang.String,java.lang.String> |
ACCUSATIVE_PRONOUNS |
protected static java.lang.String[] |
CATEGORY_A_AE_RULE |
protected static java.lang.String[] |
CATEGORY_EX_ICES_RULE |
protected static java.lang.String[] |
CATEGORY_IX_ICES_RULE |
protected static java.lang.String[] |
CATEGORY_MAN_MANS_RULE |
protected static java.lang.String[] |
CATEGORY_O_OS_RULE |
protected static java.lang.String[] |
CATEGORY_ON_A_RULE |
protected static java.lang.String[] |
CATEGORY_SINGULAR_S_RULE |
protected static java.lang.String[] |
CATEGORY_UM_A_RULE |
protected static java.lang.String[] |
CATEGORY_UNINFLECTED_NOUNS |
protected static java.lang.String[] |
CATEGORY_US_I_RULE |
protected static java.lang.String[] |
CLASSICAL_A_AE_RULE |
protected static java.lang.String[] |
CLASSICAL_A_ATA_RULE |
protected static java.lang.String[] |
CLASSICAL_EIX_ICES_RULE |
protected static java.lang.String[] |
CLASSICAL_EN_INA_RULE |
protected static java.lang.String[] |
CLASSICAL_O_I_RULE |
protected static java.lang.String[] |
CLASSICAL_ON_A_RULE |
protected static java.lang.String[] |
CLASSICAL_UM_A |
protected static java.lang.String[] |
CLASSICAL_US_I_RULE |
protected static java.lang.String[] |
CLASSICAL_US_US_RULE |
protected static java.util.Map<java.lang.String,java.lang.String> |
IRREGULAR_NOUNS |
protected static java.util.Map<java.lang.String,java.lang.String> |
NOMINATIVE_PRONOUNS |
protected static java.lang.String |
POSTFIX_ADJECTIVE_REGEX |
protected static java.lang.String[] |
PREPOSITIONS |
protected java.util.List<WordRule> |
rules |
fallbackPluralizer, locale, NOOP_PLURALIZER
Constructor and Description |
---|
EnglishPluralizer()
Create Engish pluralizer.
|
Modifier and Type | Method and Description |
---|---|
protected java.lang.String |
postProcess(java.lang.String trimmedWord,
java.lang.String pluralizedWord)
Fix case of pluralized word.
|
getFallbackPluralizer, getLocale, getRules, pluralize, pluralize, pluralizeInternal, setFallbackPluralizer, setLocale, setRules
protected static final java.lang.String POSTFIX_ADJECTIVE_REGEX
protected static final java.lang.String[] PREPOSITIONS
protected static final java.util.Map<java.lang.String,java.lang.String> NOMINATIVE_PRONOUNS
protected static final java.util.Map<java.lang.String,java.lang.String> ACCUSATIVE_PRONOUNS
protected static final java.util.Map<java.lang.String,java.lang.String> IRREGULAR_NOUNS
protected static final java.lang.String[] CATEGORY_UNINFLECTED_NOUNS
protected static final java.lang.String[] CATEGORY_MAN_MANS_RULE
protected static final java.lang.String[] CATEGORY_EX_ICES_RULE
protected static final java.lang.String[] CATEGORY_IX_ICES_RULE
protected static final java.lang.String[] CATEGORY_UM_A_RULE
protected static final java.lang.String[] CLASSICAL_UM_A
protected static final java.lang.String[] CATEGORY_US_I_RULE
protected static final java.lang.String[] CLASSICAL_US_I_RULE
protected static final java.lang.String[] CLASSICAL_US_US_RULE
protected static final java.lang.String[] CATEGORY_ON_A_RULE
protected static final java.lang.String[] CLASSICAL_ON_A_RULE
protected static final java.lang.String[] CLASSICAL_A_ATA_RULE
protected static final java.lang.String[] CATEGORY_A_AE_RULE
protected static final java.lang.String[] CLASSICAL_A_AE_RULE
protected static final java.lang.String[] CLASSICAL_EN_INA_RULE
protected static final java.lang.String[] CLASSICAL_O_I_RULE
protected static final java.lang.String[] CATEGORY_O_OS_RULE
protected static final java.lang.String[] CATEGORY_SINGULAR_S_RULE
protected static final java.lang.String[] CLASSICAL_EIX_ICES_RULE
protected final java.util.List<WordRule> rules
protected java.lang.String postProcess(java.lang.String trimmedWord, java.lang.String pluralizedWord)
postProcess
in class RuleBasedPluralizer
trimmedWord
- The input word, with leading and trailing
whitespace removed.pluralizedWord
- The pluralized word.pluralizedWord
after
processing.
If trimmedWord
is all uppercase, then
pluralizedWord
is uppercased.
If trimmedWord
is titlecase, then
pluralizedWord
is titlecased.