Class<? extends Foo> dynamicType = new ByteBuddy()
.subclass(Foo.class)
.method(ElementMatchers.named("bar"))
.intercept(FixedValue.value("Hello World!"))
.make()
.load(getClass().getClassLoader())
.getLoaded();
Class<? extends Foo> dynamicType = new ByteBuddy()
.subclass(Foo.class, ConstructorStrategy.Default.NO_CONSTRUCTORS)
.modifiers(Modifier.PUBLIC)
.defineField("name", String.class, Visibility.PRIVATE)
.defineMethod("getName", String.class, Modifier.PUBLIC)
.intercept(FieldAccessor.ofBeanProperty())
.make()
.load(getClass().getClassLoader())
.getLoaded();