test_class.file: artemis-core/src/test/java/org/jnosql/artemis/reflection/JavaCompilerFacadeTest.java
test_class.identifier: JavaCompilerFacadeTest
test_case.body: @Test
      public void shouldCreateGetterClass() {
          Stream.of(Foo.class.getDeclaredConstructors()).forEach(c -> c.setAccessible(true));
          Foo foo = new Foo();
          foo.setBar("bar");
          JavaCompilerBeanPropertyReaderFactory factory = new JavaCompilerBeanPropertyReaderFactory();
          ReadFromGetterMethod propertyReader = factory.generate(Foo.class, "bar");
          Object bar = propertyReader.apply(foo);
          Assertions.assertEquals("bar", bar);
      }
test_case.class_method_signature: JavaCompilerFacadeTest.shouldCreateGetterClass()
test_case.full_signature: @Test public void shouldCreateGetterClass()
test_case.identifier: shouldCreateGetterClass
test_case.invocations: forEach of getDeclaredConstructors setAccessible setBar generate apply assertEquals
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void shouldCreateGetterClass()
focal_class.declarator: BREAK_LINE = Pattern.compile("\n")
focal_class.modifier: private static final
focal_class.original_string: private static final Pattern BREAK_LINE = Pattern.compile("\n");
focal_class.type: Pattern
focal_class.var_name: BREAK_LINE
focal_class.declarator: classLoader
focal_class.modifier: private final
focal_class.original_string: private final JavaCompilerClassLoader classLoader;
focal_class.type: JavaCompilerClassLoader
focal_class.var_name: classLoader
focal_class.declarator: compiler
focal_class.modifier: private final
focal_class.original_string: private final JavaCompiler compiler;
focal_class.type: JavaCompiler
focal_class.var_name: compiler
focal_class.declarator: diagnosticCollector
focal_class.modifier: private final
focal_class.original_string: private final DiagnosticCollector<javax.tools.JavaFileObject> diagnosticCollector;
focal_class.type: DiagnosticCollector<javax.tools.JavaFileObject>
focal_class.var_name: diagnosticCollector
focal_class.file: artemis-core/src/main/java/org/jnosql/artemis/reflection/JavaCompilerFacade.java
focal_class.identifier: JavaCompilerFacade
focal_class.class_method_signature: JavaCompilerFacade.JavaCompilerFacade(ClassLoader loader)
focal_class.full_signature: public  JavaCompilerFacade(ClassLoader loader)
focal_class.identifier: JavaCompilerFacade
focal_class.modifiers: public
focal_class.parameters: (ClassLoader loader)
focal_class.signature:  JavaCompilerFacade(ClassLoader loader)
focal_class.class_method_signature: JavaCompilerFacade.apply(JavaSource<T> source)
focal_class.full_signature: public Class<? extends T> apply(JavaSource<T> source)
focal_class.identifier: apply
focal_class.modifiers: public
focal_class.parameters: (JavaSource<T> source)
focal_class.return: Class<? extends T>
focal_class.signature: Class<? extends T> apply(JavaSource<T> source)
focal_class.class_method_signature: JavaCompilerFacade.compile(JavaSource<T> source)
focal_class.full_signature: private synchronized Class<? extends T> compile(JavaSource<T> source)
focal_class.identifier: compile
focal_class.modifiers: private synchronized
focal_class.parameters: (JavaSource<T> source)
focal_class.return: Class<? extends T>
focal_class.signature: Class<? extends T> compile(JavaSource<T> source)
focal_class.class_method_signature: JavaCompilerFacade.createCompilerErrorMessage(JavaSource<T> source)
focal_class.full_signature: private Class<? extends T> createCompilerErrorMessage(JavaSource<T> source)
focal_class.identifier: createCompilerErrorMessage
focal_class.modifiers: private
focal_class.parameters: (JavaSource<T> source)
focal_class.return: Class<? extends T>
focal_class.signature: Class<? extends T> createCompilerErrorMessage(JavaSource<T> source)
focal_method.body: public <T> Class<? extends T> apply(JavaSource<T> source) {
          return compile(source);
      }
focal_method.class_method_signature: JavaCompilerFacade.apply(JavaSource<T> source)
focal_method.full_signature: public Class<? extends T> apply(JavaSource<T> source)
focal_method.identifier: apply
focal_method.invocations: compile
focal_method.modifiers: public
focal_method.parameters: (JavaSource<T> source)
focal_method.return: Class<? extends T>
focal_method.signature: Class<? extends T> apply(JavaSource<T> source)