public String plural()

in velocity-tools-generic/src/main/java/org/apache/velocity/tools/generic/DisplayTool.java [810:851]


    public String plural(int value, String singular, String plural)
    {
        if (value == 1 || value == -1)
        {
            return singular;
        }
        else if (plural != null)
        {
            return plural;
        }
        else if (singular == null || singular.length() == 0)
        {
            return singular;
        }
        else
        {
            //if the last letter is capital then we will append capital letters
            boolean isCapital = !singular.substring(singular.length() - 1)
                                .toLowerCase().equals(singular
                                .substring(singular.length() - 1));

            String word = singular.toLowerCase();

            if (word.endsWith("x") || word.endsWith("sh")
                    || word.endsWith("ch") || word.endsWith("s"))
            {
                return singular.concat(isCapital ? "ES" : "es");
            }
            else if (word.length() > 1
                    && word.endsWith("y")
                    && !word.substring(word.length() - 2, word.length() - 1)
                            .matches("[aeiou]"))
            {
                return singular.substring(0, singular.length() - 1)
                        .concat(isCapital ? "IES" : "ies");
            }
            else
            {
                return singular.concat(isCapital ? "S" : "s");
            }
        }
    }