【发布时间】:2015-01-28 15:17:18
【问题描述】:
我是 cglib 的新手,但它似乎是适合这项工作的工具,所以这里是:
假设我有一个注解类Foo 和Bar,以及一个枚举类B,这样Foo 和Bar 声明如下:
public @interface Foo {
public B value();
}
public @interface Bar {
public B value();
}
现在,假设我有这个:
public class AnnotationImpl<A extends Annotation, B extends Enum<B>> {
public AnnotationImpl(Class<A> annotationClass, B value);
// value() returns value, annotationType() returns annotationClass
// Implement equals(), hashCode(), toString() as specified
}
当Foo 和Bar 或多或少相同时,必须为AnnotationImpl 子类化似乎是重复的;是否可以使用 cglib 有一个方法 makeImpl() 采用一个注释类,该类返回一个实现该注释类的 AnnotationImpl?例如。 makeImpl(Foo.class, B.ONE) 返回由AnnotationImpl(Foo.class, B.ONE) 支持的Foo?
【问题讨论】:
标签: java annotations cglib