【发布时间】:2020-02-19 20:31:40
【问题描述】:
我要做的基本上是将类的字段与注释匹配,然后它们拦截该字段的 getter 和 setter。
public class Foo {
@Sensitive
private String Blah;
这是我的代理的代码:
private static AgentBuilder createAgent() {
return new AgentBuilder
.Default()
.with(AgentBuilder.RedefinitionStrategy.RETRANSFORMATION)
.type(ElementMatchers.is(FieldTypeMatcher.class).and(ElementMatchers.isAnnotatedWith(Foo.class)))
.transform(((builder, typeDescription, classLoader, module) ->
builder
.method(method -> method.getActualName().contains(typeDescription.getActualName()))
.intercept(Advice.to(Interceptor.class))
));
}
虽然我可以将字段名称与方法的签名匹配,但我没有运气。
【问题讨论】:
标签: java code-generation byte-buddy