stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/serialization/impl/util/Inflector.java [297:369]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    protected void initialize() {
        Inflector inflect = this;
        inflect.addPluralize( "$", "s" );
        inflect.addPluralize( "s$", "s" );
        inflect.addPluralize( "(ax|test)is$", "$1es" );
        inflect.addPluralize( "(octop|vir)us$", "$1i" );
        inflect.addPluralize( "(octop|vir)i$", "$1i" ); // already plural
        inflect.addPluralize( "(alias|status)$", "$1es" );
        inflect.addPluralize( "(bu)s$", "$1ses" );
        inflect.addPluralize( "(buffal|tomat)o$", "$1oes" );
        inflect.addPluralize( "([ti])um$", "$1a" );
        inflect.addPluralize( "([ti])a$", "$1a" ); // already plural
        inflect.addPluralize( "sis$", "ses" );
        inflect.addPluralize( "(?:([^f])fe|([lr])f)$", "$1$2ves" );
        inflect.addPluralize( "(hive)$", "$1s" );
        inflect.addPluralize( "([^aeiouy]|qu)y$", "$1ies" );
        inflect.addPluralize( "(x|ch|ss|sh)$", "$1es" );
        inflect.addPluralize( "(matr|vert|ind)ix|ex$", "$1ices" );
        inflect.addPluralize( "([m|l])ouse$", "$1ice" );
        inflect.addPluralize( "([m|l])ice$", "$1ice" );
        inflect.addPluralize( "^(ox)$", "$1en" );
        inflect.addPluralize( "(quiz)$", "$1zes" );
        // Need to check for the following words that are already pluralized:
        inflect.addPluralize( "(people|men|children|sexes|moves|stadiums)$", "$1" ); // irregulars
        inflect.addPluralize( "(oxen|octopi|viri|aliases|quizzes)$", "$1" ); // special
        // rules

        inflect.addSingularize( "s$", "" );
        inflect.addSingularize( "(s|si|u)s$", "$1s" ); // '-us' and '-ss' are
        // already singular
        inflect.addSingularize( "(n)ews$", "$1ews" );
        inflect.addSingularize( "([ti])a$", "$1um" );
        inflect.addSingularize( "((a)naly|(b)a|(d)iagno|(p)arenthe|(p)rogno|(s)ynop|(t)he)ses$", "$1$2sis" );
        inflect.addSingularize( "(^analy)ses$", "$1sis" );
        inflect.addSingularize( "(^analy)sis$", "$1sis" ); // already singular,
        // but ends in 's'
        inflect.addSingularize( "([^f])ves$", "$1fe" );
        inflect.addSingularize( "(hive)s$", "$1" );
        inflect.addSingularize( "(tive)s$", "$1" );
        inflect.addSingularize( "([lr])ves$", "$1f" );
        inflect.addSingularize( "([^aeiouy]|qu)ies$", "$1y" );
        inflect.addSingularize( "(s)eries$", "$1eries" );
        inflect.addSingularize( "(m)ovies$", "$1ovie" );
        inflect.addSingularize( "(x|ch|ss|sh)es$", "$1" );
        inflect.addSingularize( "([m|l])ice$", "$1ouse" );
        inflect.addSingularize( "(bus)es$", "$1" );
        inflect.addSingularize( "(o)es$", "$1" );
        inflect.addSingularize( "(shoe)s$", "$1" );
        inflect.addSingularize( "(cris|ax|test)is$", "$1is" ); // already
        // singular, but
        // ends in 's'
        inflect.addSingularize( "(cris|ax|test)es$", "$1is" );
        inflect.addSingularize( "(octop|vir)i$", "$1us" );
        inflect.addSingularize( "(octop|vir)us$", "$1us" ); // already singular,
        // but ends in 's'
        inflect.addSingularize( "(alias|status)es$", "$1" );
        inflect.addSingularize( "(alias|status)$", "$1" ); // already singular,
        // but ends in 's'
        inflect.addSingularize( "^(ox)en", "$1" );
        inflect.addSingularize( "(vert|ind)ices$", "$1ex" );
        inflect.addSingularize( "(matr)ices$", "$1ix" );
        inflect.addSingularize( "(quiz)zes$", "$1" );

        inflect.addIrregular( "person", "people" );
        inflect.addIrregular( "man", "men" );
        inflect.addIrregular( "child", "children" );
        inflect.addIrregular( "sex", "sexes" );
        inflect.addIrregular( "move", "moves" );
        inflect.addIrregular( "stadium", "stadiums" );

        inflect.addUncountable( "equipment", "information", "rice", "money", "species", "series", "fish", "sheep",
                "data", "analytics" );
    }
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



stack/core/src/main/java/org/apache/usergrid/utils/Inflector.java [455:527]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    protected void initialize() {
        Inflector inflect = this;
        inflect.addPluralize( "$", "s" );
        inflect.addPluralize( "s$", "s" );
        inflect.addPluralize( "(ax|test)is$", "$1es" );
        inflect.addPluralize( "(octop|vir)us$", "$1i" );
        inflect.addPluralize( "(octop|vir)i$", "$1i" ); // already plural
        inflect.addPluralize( "(alias|status)$", "$1es" );
        inflect.addPluralize( "(bu)s$", "$1ses" );
        inflect.addPluralize( "(buffal|tomat)o$", "$1oes" );
        inflect.addPluralize( "([ti])um$", "$1a" );
        inflect.addPluralize( "([ti])a$", "$1a" ); // already plural
        inflect.addPluralize( "sis$", "ses" );
        inflect.addPluralize( "(?:([^f])fe|([lr])f)$", "$1$2ves" );
        inflect.addPluralize( "(hive)$", "$1s" );
        inflect.addPluralize( "([^aeiouy]|qu)y$", "$1ies" );
        inflect.addPluralize( "(x|ch|ss|sh)$", "$1es" );
        inflect.addPluralize( "(matr|vert|ind)ix|ex$", "$1ices" );
        inflect.addPluralize( "([m|l])ouse$", "$1ice" );
        inflect.addPluralize( "([m|l])ice$", "$1ice" );
        inflect.addPluralize( "^(ox)$", "$1en" );
        inflect.addPluralize( "(quiz)$", "$1zes" );
        // Need to check for the following words that are already pluralized:
        inflect.addPluralize( "(people|men|children|sexes|moves|stadiums)$", "$1" ); // irregulars
        inflect.addPluralize( "(oxen|octopi|viri|aliases|quizzes)$", "$1" ); // special
        // rules

        inflect.addSingularize( "s$", "" );
        inflect.addSingularize( "(s|si|u)s$", "$1s" ); // '-us' and '-ss' are
        // already singular
        inflect.addSingularize( "(n)ews$", "$1ews" );
        inflect.addSingularize( "([ti])a$", "$1um" );
        inflect.addSingularize( "((a)naly|(b)a|(d)iagno|(p)arenthe|(p)rogno|(s)ynop|(t)he)ses$", "$1$2sis" );
        inflect.addSingularize( "(^analy)ses$", "$1sis" );
        inflect.addSingularize( "(^analy)sis$", "$1sis" ); // already singular,
        // but ends in 's'
        inflect.addSingularize( "([^f])ves$", "$1fe" );
        inflect.addSingularize( "(hive)s$", "$1" );
        inflect.addSingularize( "(tive)s$", "$1" );
        inflect.addSingularize( "([lr])ves$", "$1f" );
        inflect.addSingularize( "([^aeiouy]|qu)ies$", "$1y" );
        inflect.addSingularize( "(s)eries$", "$1eries" );
        inflect.addSingularize( "(m)ovies$", "$1ovie" );
        inflect.addSingularize( "(x|ch|ss|sh)es$", "$1" );
        inflect.addSingularize( "([m|l])ice$", "$1ouse" );
        inflect.addSingularize( "(bus)es$", "$1" );
        inflect.addSingularize( "(o)es$", "$1" );
        inflect.addSingularize( "(shoe)s$", "$1" );
        inflect.addSingularize( "(cris|ax|test)is$", "$1is" ); // already
        // singular, but
        // ends in 's'
        inflect.addSingularize( "(cris|ax|test)es$", "$1is" );
        inflect.addSingularize( "(octop|vir)i$", "$1us" );
        inflect.addSingularize( "(octop|vir)us$", "$1us" ); // already singular,
        // but ends in 's'
        inflect.addSingularize( "(alias|status)es$", "$1" );
        inflect.addSingularize( "(alias|status)$", "$1" ); // already singular,
        // but ends in 's'
        inflect.addSingularize( "^(ox)en", "$1" );
        inflect.addSingularize( "(vert|ind)ices$", "$1ex" );
        inflect.addSingularize( "(matr)ices$", "$1ix" );
        inflect.addSingularize( "(quiz)zes$", "$1" );

        inflect.addIrregular( "person", "people" );
        inflect.addIrregular( "man", "men" );
        inflect.addIrregular( "child", "children" );
        inflect.addIrregular( "sex", "sexes" );
        inflect.addIrregular( "move", "moves" );
        inflect.addIrregular( "stadium", "stadiums" );

        inflect.addUncountable( "equipment", "information", "rice", "money", "species", "series", "fish", "sheep",
                "data", "analytics" );
    }
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



