1
有沒有辦法阻止Byte Buddy爲我添加的註釋發出默認值?使用下面的示例,基於構建插件,我希望看到在baz
字段中@XmlAttribute
註釋的結果字節代碼中省略了多餘的required
和namespace
值。我可以防止Byte Buddy發出註釋的默認值嗎?
富/ Bar.java:
package foo;
import javax.xml.bind.annotation.XmlAttribute;
public class Bar {
@XmlAttribute(name = "qux")
public String qux;
}
淨/ bytebuddy /測試/ SimplePlugin.java:
...
public class SimplePlugin implements Plugin {
...
@Override
public DynamicType.Builder<?> apply(DynamicType.Builder<?> builder, TypeDescription typeDescription) {
return builder.defineField("baz", String.class, Visibility.PUBLIC)
.annotateField(AnnotationDescription.Builder.ofType(XmlAttribute.class)
.define("name", "baz")
.build());
}
}
富/ Bar.class:
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//
package foo;
import javax.xml.bind.annotation.XmlAttribute;
public class Bar {
@XmlAttribute(
name = "qux"
)
public String qux;
@XmlAttribute(
name = "baz",
required = false,
namespace = "##default"
)
public String baz;
public Bar() {
}
}