作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
使用 Generators 创建类时,可以发现一个类型的所有子类。例如,您可以在 GWT Showcase 源代码中找到这种技术(参见 full code):
JClassType cwType = null;
try {
cwType = context.getTypeOracle().getType(ContentWidget.class.getName());
} catch (NotFoundException e) {
logger.log(TreeLogger.ERROR, "Cannot find ContentWidget class", e);
throw new UnableToCompleteException();
}
JClassType[] types = cwType.getSubtypes();
public class SomeWidget extends ContentWidget { ... }
@MyAnnotation(...)
public class SomeWidget extends Widget { ... }
JAnnotationType.getAnnotatedTypes()
这样的方法,但也许我只是瞎了眼?
reflections.getTypesAnnotatedWith(SomeAnnotation.class)
,但我更喜欢使用 GeneratorContext 代替,特别是因为在 DevMode 中重新加载应用程序时这会更好。
最佳答案
是的 - 最简单的方法是遍历所有类型,并检查它们的注释。您可能还有其他规则(公开的,非抽象的)也应该在那个时候完成。
for (JClassType type : oracle.getTypes()) {
MyAnnotation annotation = type.getAnnotation(MyAnnotation.class);
if (annotation != null && ...) {
// handle this type
}
}
TypeOracle
实例可以从
GeneratorContext
获得使用
context.getTypeOracle()
.
<source>
。正在使用的标签。
关于gwt - 是否可以使用 GWT GeneratorContext 找到所有使用 @MyAnnotation 注释的类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10521016/
使用 Generators 创建类时,可以发现一个类型的所有子类。例如,您可以在 GWT Showcase 源代码中找到这种技术(参见 full code): JClassType cwType =
我是一名优秀的程序员,十分优秀!