You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
webmagic/webmagic-avalon/forger
yihua.huang 22e8697671 add forger to folder 11 years ago
..
src add forger to folder 11 years ago
LICENSE add forger to folder 11 years ago
README.md add forger to folder 11 years ago
pom.xml add forger to folder 11 years ago

README.md

forger

Dynamic Java object generator with template class and configuration.

Compiler

Use groovy compiler. Compile source code to Java class.

PropertyLoader

Load properties of object from user input.

API

    @Test
    public void testForgerCreateByClassAnnotationCompile() throws Exception {
        ForgerFactory forgerFactory = new ForgerFactory(new AnnotationPropertyLoader(), new GroovyForgerCompiler());
        Forger<Fooable> forger = forgerFactory.<Fooable>compile(Foo.SOURCE_CODE);
        Fooable foo = forger.forge(ImmutableMap.<String, Object>of("fooa", "test"));
        Field field = forger.getClazz().getDeclaredField("foo");
        field.setAccessible(true);
        assertThat(field.get(foo)).isEqualTo("test");
        assertThat(foo.foo()).isEqualTo("test");
    }