test_class.declarator: inflector
test_class.modifier: private
test_class.original_string: private Inflector inflector;
test_class.type: Inflector
test_class.var_name: inflector
test_class.file: text/src/test/java/org/jboss/forge/addon/text/InflectorTest.java
test_class.identifier: InflectorTest
test_case.body: @Test
     public void shouldHumanize()
     {
        humanize("active_record", "Active record");
        humanize("first_name", "First name");
        humanize("name", "Name");
        humanize("the_first_name", "The first name");
        humanize("employee_salary", "Employee salary");
        humanize("underground", "Underground");
        humanize("id", "Id");
        humanize("employee_id", "Employee");
        humanize("employee_value_string", "Employee string", "value");
     }
test_case.class_method_signature: InflectorTest.shouldHumanize()
test_case.full_signature: @Test public void shouldHumanize()
test_case.identifier: shouldHumanize
test_case.invocations: humanize humanize humanize humanize humanize humanize humanize humanize humanize
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void shouldHumanize()
focal_class.declarator: plurals = new LinkedList<Rule>()
focal_class.modifier: private final
focal_class.original_string: private final LinkedList<Rule> plurals = new LinkedList<Rule>();
focal_class.type: LinkedList<Rule>
focal_class.var_name: plurals
focal_class.declarator: singulars = new LinkedList<Rule>()
focal_class.modifier: private final
focal_class.original_string: private final LinkedList<Rule> singulars = new LinkedList<Rule>();
focal_class.type: LinkedList<Rule>
focal_class.var_name: singulars
focal_class.declarator: uncountables = new HashSet<String>()
focal_class.modifier: private final
focal_class.original_string: private final Set<String> uncountables = new HashSet<String>();
focal_class.type: Set<String>
focal_class.var_name: uncountables
focal_class.file: text/src/main/java/org/jboss/forge/addon/text/Inflector.java
focal_class.identifier: Inflector
focal_class.class_method_signature: Inflector.Inflector()
focal_class.full_signature: public  Inflector()
focal_class.identifier: Inflector
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.signature:  Inflector()
focal_class.class_method_signature: Inflector.Inflector(Inflector original)
focal_class.full_signature: protected  Inflector(Inflector original)
focal_class.identifier: Inflector
focal_class.modifiers: protected
focal_class.parameters: (Inflector original)
focal_class.signature:  Inflector(Inflector original)
focal_class.class_method_signature: Inflector.clone()
focal_class.full_signature: @Override public Inflector clone()
focal_class.identifier: clone
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: Inflector
focal_class.signature: Inflector clone()
focal_class.class_method_signature: Inflector.pluralize(Object word)
focal_class.full_signature: public String pluralize(Object word)
focal_class.identifier: pluralize
focal_class.modifiers: public
focal_class.parameters: (Object word)
focal_class.return: String
focal_class.signature: String pluralize(Object word)
focal_class.class_method_signature: Inflector.pluralize(Object word,
              int count)
focal_class.full_signature: public String pluralize(Object word,
              int count)
focal_class.identifier: pluralize
focal_class.modifiers: public
focal_class.parameters: (Object word,
              int count)
focal_class.return: String
focal_class.signature: String pluralize(Object word,
              int count)
focal_class.class_method_signature: Inflector.singularize(Object word)
focal_class.full_signature: public String singularize(Object word)
focal_class.identifier: singularize
focal_class.modifiers: public
focal_class.parameters: (Object word)
focal_class.return: String
focal_class.signature: String singularize(Object word)
focal_class.class_method_signature: Inflector.lowerCamelCase(String lowerCaseAndUnderscoredWord,
              char... delimiterChars)
focal_class.full_signature: public String lowerCamelCase(String lowerCaseAndUnderscoredWord,
              char... delimiterChars)
focal_class.identifier: lowerCamelCase
focal_class.modifiers: public
focal_class.parameters: (String lowerCaseAndUnderscoredWord,
              char... delimiterChars)
focal_class.return: String
focal_class.signature: String lowerCamelCase(String lowerCaseAndUnderscoredWord,
              char... delimiterChars)
focal_class.class_method_signature: Inflector.upperCamelCase(String lowerCaseAndUnderscoredWord,
              char... delimiterChars)
focal_class.full_signature: public String upperCamelCase(String lowerCaseAndUnderscoredWord,
              char... delimiterChars)
focal_class.identifier: upperCamelCase
focal_class.modifiers: public
focal_class.parameters: (String lowerCaseAndUnderscoredWord,
              char... delimiterChars)
focal_class.return: String
focal_class.signature: String upperCamelCase(String lowerCaseAndUnderscoredWord,
              char... delimiterChars)
focal_class.class_method_signature: Inflector.camelCase(String lowerCaseAndUnderscoredWord,
              boolean uppercaseFirstLetter,
              char... delimiterChars)
focal_class.full_signature: public String camelCase(String lowerCaseAndUnderscoredWord,
              boolean uppercaseFirstLetter,
              char... delimiterChars)
focal_class.identifier: camelCase
focal_class.modifiers: public
focal_class.parameters: (String lowerCaseAndUnderscoredWord,
              boolean uppercaseFirstLetter,
              char... delimiterChars)
focal_class.return: String
focal_class.signature: String camelCase(String lowerCaseAndUnderscoredWord,
              boolean uppercaseFirstLetter,
              char... delimiterChars)
focal_class.class_method_signature: Inflector.underscore(String camelCaseWord,
              char... delimiterChars)
focal_class.full_signature: public String underscore(String camelCaseWord,
              char... delimiterChars)
focal_class.identifier: underscore
focal_class.modifiers: public
focal_class.parameters: (String camelCaseWord,
              char... delimiterChars)
focal_class.return: String
focal_class.signature: String underscore(String camelCaseWord,
              char... delimiterChars)
focal_class.class_method_signature: Inflector.capitalize(String words)
focal_class.full_signature: public String capitalize(String words)
focal_class.identifier: capitalize
focal_class.modifiers: public
focal_class.parameters: (String words)
focal_class.return: String
focal_class.signature: String capitalize(String words)
focal_class.class_method_signature: Inflector.humanize(String lowerCaseAndUnderscoredWords,
              String... removableTokens)
focal_class.full_signature: public String humanize(String lowerCaseAndUnderscoredWords,
              String... removableTokens)
focal_class.identifier: humanize
focal_class.modifiers: public
focal_class.parameters: (String lowerCaseAndUnderscoredWords,
              String... removableTokens)
focal_class.return: String
focal_class.signature: String humanize(String lowerCaseAndUnderscoredWords,
              String... removableTokens)
focal_class.class_method_signature: Inflector.titleCase(String words,
              String... removableTokens)
focal_class.full_signature: public String titleCase(String words,
              String... removableTokens)
focal_class.identifier: titleCase
focal_class.modifiers: public
focal_class.parameters: (String words,
              String... removableTokens)
focal_class.return: String
focal_class.signature: String titleCase(String words,
              String... removableTokens)
focal_class.class_method_signature: Inflector.ordinalize(int number)
focal_class.full_signature: public String ordinalize(int number)
focal_class.identifier: ordinalize
focal_class.modifiers: public
focal_class.parameters: (int number)
focal_class.return: String
focal_class.signature: String ordinalize(int number)
focal_class.class_method_signature: Inflector.isUncountable(String word)
focal_class.full_signature: public boolean isUncountable(String word)
focal_class.identifier: isUncountable
focal_class.modifiers: public
focal_class.parameters: (String word)
focal_class.return: boolean
focal_class.signature: boolean isUncountable(String word)
focal_class.class_method_signature: Inflector.getUncountables()
focal_class.full_signature: public Set<String> getUncountables()
focal_class.identifier: getUncountables
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: Set<String>
focal_class.signature: Set<String> getUncountables()
focal_class.class_method_signature: Inflector.addPluralize(String rule,
              String replacement)
focal_class.full_signature: public void addPluralize(String rule,
              String replacement)
focal_class.identifier: addPluralize
focal_class.modifiers: public
focal_class.parameters: (String rule,
              String replacement)
focal_class.return: void
focal_class.signature: void addPluralize(String rule,
              String replacement)
focal_class.class_method_signature: Inflector.addSingularize(String rule,
              String replacement)
focal_class.full_signature: public void addSingularize(String rule,
              String replacement)
focal_class.identifier: addSingularize
focal_class.modifiers: public
focal_class.parameters: (String rule,
              String replacement)
focal_class.return: void
focal_class.signature: void addSingularize(String rule,
              String replacement)
focal_class.class_method_signature: Inflector.addIrregular(String singular,
              String plural)
focal_class.full_signature: public void addIrregular(String singular,
              String plural)
focal_class.identifier: addIrregular
focal_class.modifiers: public
focal_class.parameters: (String singular,
              String plural)
focal_class.return: void
focal_class.signature: void addIrregular(String singular,
              String plural)
focal_class.class_method_signature: Inflector.addUncountable(String... words)
focal_class.full_signature: public void addUncountable(String... words)
focal_class.identifier: addUncountable
focal_class.modifiers: public
focal_class.parameters: (String... words)
focal_class.return: void
focal_class.signature: void addUncountable(String... words)
focal_class.class_method_signature: Inflector.replaceAllWithUppercase(String input,
              String regex,
              int groupNumberToUppercase)
focal_class.full_signature:  String replaceAllWithUppercase(String input,
              String regex,
              int groupNumberToUppercase)
focal_class.identifier: replaceAllWithUppercase
focal_class.parameters: (String input,
              String regex,
              int groupNumberToUppercase)
focal_class.return: String
focal_class.signature: String replaceAllWithUppercase(String input,
              String regex,
              int groupNumberToUppercase)
focal_class.class_method_signature: Inflector.clear()
focal_class.full_signature: public void clear()
focal_class.identifier: clear
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void clear()
focal_class.class_method_signature: Inflector.initialize()
focal_class.full_signature: protected void initialize()
focal_class.identifier: initialize
focal_class.modifiers: protected
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void initialize()
focal_method.body: public String humanize(String lowerCaseAndUnderscoredWords,
              String... removableTokens)
     {
        if (lowerCaseAndUnderscoredWords == null)
           return null;
        String result = lowerCaseAndUnderscoredWords.trim();
        if (result.length() == 0)
           return "";
        // Remove a trailing "_id" token
        result = result.replaceAll("_id$", "");
        // Remove all of the tokens that should be removed
        if (removableTokens != null)
        {
           for (String removableToken : removableTokens)
           {
              result = result.replaceAll(removableToken, "");
           }
        }
        result = result.replaceAll("_+", " "); // replace all adjacent underscores with a single space
        return capitalize(result);
     }
focal_method.class_method_signature: Inflector.humanize(String lowerCaseAndUnderscoredWords,
              String... removableTokens)
focal_method.full_signature: public String humanize(String lowerCaseAndUnderscoredWords,
              String... removableTokens)
focal_method.identifier: humanize
focal_method.invocations: trim length replaceAll replaceAll replaceAll capitalize
focal_method.modifiers: public
focal_method.parameters: (String lowerCaseAndUnderscoredWords,
              String... removableTokens)
focal_method.return: String
focal_method.signature: String humanize(String lowerCaseAndUnderscoredWords,
              String... removableTokens)