字节伙伴:注释已经构建的类



我有超级类和这个超级类的一些孩子。 我需要将超类注释为 @XmlSeeAlso,这需要子类的参数数组。 但是对于创建子类,我需要加载超级,尚未构建。 有圈依赖性。 有可能,在没有此注释的情况下构建所有类,然后进行注释?作为下一阶段,当所有类都可用,但没有注释时?

@XmlSeeAlso(value = {ExtFoo.class, ExtFoo1.class})
class Foo {
//...
}
class ExtFoo extends Foo {
//..
}
class ExtFoo1 extends Foo {
//...
}
public static void main(String[] args) {
new ByteBuddy()
.subclass(Object.class)
.annotateType(new XmlSeeAlso(){
@Override
public Class<? extends Annotation> annotationType() {
return XmlSeeAlso.class;
}
@Override
public Class[] value() {
return new Class[0];//how to get childs of foo classes, when self foo not ready???
}
}).make().load(...);
....;
}

您可以使用 AnnotationDescription.Builder 并使用 TypeTDescription 来表示类型。您可以使用 TypePool.Default 来解析这些说明。

最新更新