我想获得所有组件的列表,以便我可以进一步处理它们。这可能吗?如果可以,我该怎么做?我不相信我可以观察所有 postCreate 事件,因为它只是完全匹配而不是正则表达式。
@Observer(“org.jboss.seam.postCreate。”)
您只能观察这些事件,而不能观察 *,因为它被放入键为字符串的映射中。
有任何想法吗?
Walter
As said
我想获得所有组件的列表
对于声明为组件的每个类,Seam 创建一个组件定义并
把它藏起来在应用范围内。其命名约定遵循以下模式
所以你可以使用
/**
* Metamodel class for component classes
*
* Similar to org.springframework.beans.factory.config.BeanDefinition used by Spring
*/
org.jboss.seam.Component
Context context = Contexts.getApplicationContext();
for (String name: context.getNames()) {
Object object = context.get(name);
if(object instanceof org.jboss.seam.Component) {
Component component = (Component) object;
System.out.println(component.getName());
System.out.println(component.getType());
System.out.println(component.getScope());
System.out.println(component.getTimeout());
System.out.println(component.isStartup());
System.out.println(component.isSynchronize());
}
}
如果你想检索所需的组件,你可以使用
Object object = Component.getInstance(component.getName());
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)