test_class.file: recipe-generator/src/test/java/ca/derekcormier/recipe/generator/filter/JavaGetterFilterTest.java
test_class.identifier: JavaGetterFilterTest
test_case.body: @Test
    public void testApply_prependsIsForFlagParam() {
      JavaGetterFilter filter = new JavaGetterFilter();
  
      assertEquals("isFoobar", filter.apply(param("foobar", "flag")));
    }
test_case.class_method_signature: JavaGetterFilterTest.testApply_prependsIsForFlagParam()
test_case.full_signature: @Test public void testApply_prependsIsForFlagParam()
test_case.identifier: testApply_prependsIsForFlagParam
test_case.invocations: assertEquals apply param
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testApply_prependsIsForFlagParam()
focal_class.declarator: objectMethodNames
focal_class.modifier: private static
focal_class.original_string: private static String[] objectMethodNames;
focal_class.type: String[]
focal_class.var_name: objectMethodNames
focal_class.file: recipe-generator/src/main/java/ca/derekcormier/recipe/generator/filter/JavaGetterFilter.java
focal_class.identifier: JavaGetterFilter
focal_class.class_method_signature: JavaGetterFilter.JavaGetterFilter()
focal_class.full_signature: public  JavaGetterFilter()
focal_class.identifier: JavaGetterFilter
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.signature:  JavaGetterFilter()
focal_class.class_method_signature: JavaGetterFilter.apply(Object value, Object... params)
focal_class.full_signature: @Override public Object apply(Object value, Object... params)
focal_class.identifier: apply
focal_class.modifiers: @Override public
focal_class.parameters: (Object value, Object... params)
focal_class.return: Object
focal_class.signature: Object apply(Object value, Object... params)
focal_class.superclass: extends Filter
focal_method.body: @Override
    public Object apply(Object value, Object... params) {
      Map<String, Object> param = (Map<String, Object>) value;
      String name = (String) param.get("name");
      String type = (String) param.get("type");
      boolean compound = param.containsKey("compound") && (boolean) param.get("compound");
  
      name = name.substring(0, 1).toUpperCase() + name.substring(1);
  
      if (!compound && (type.equals("boolean") || type.equals("flag"))) {
        value = "is" + name;
      } else {
        value = "get" + name;
      }
  
      if (Arrays.binarySearch(objectMethodNames, value) >= 0) {
        value += "_";
      }
      return value;
    }
focal_method.class_method_signature: JavaGetterFilter.apply(Object value, Object... params)
focal_method.full_signature: @Override public Object apply(Object value, Object... params)
focal_method.identifier: apply
focal_method.invocations: get get containsKey get toUpperCase substring substring equals equals binarySearch
focal_method.modifiers: @Override public
focal_method.parameters: (Object value, Object... params)
focal_method.return: Object
focal_method.signature: Object apply(Object value, Object... params)