[Seasar][Uruma]Urumaで登録するコンポーネントのインスタンスメモ。
ActionもSINGLETONなのね。
org.seasar.uruma.rcp.autoregister.UrumaAppAutoRegisterBuilder
/** * {@link UrumaAppAutoRegister} のための {@link ComponentDef} オブジェクトを生成します。<br /> * * @param refClassName * リファレンスクラス名称 * @param basePackage * ベースパッケージ名 * @return {@link UrumaAppAutoRegister} の {@link ComponentDef} オブジェクト * @throws ClassNotFoundException */ public static ComponentDef build(final String refClassName, final String basePackage) throws ClassNotFoundException { AnnotationHandler handler = AnnotationHandlerFactory .getAnnotationHandler(); ComponentDef cd = handler.createComponentDef( UrumaAppAutoRegister.class, InstanceDefFactory.SINGLETON, AutoBindingDefFactory.AUTO, false); cd.addPropertyDef(new PropertyDefImpl("instanceDef", InstanceDefFactory.PROTOTYPE)); cd.addInitMethodDef(ctreateAddReferenceClassDef(refClassName)); cd.addInitMethodDef(createAddClassPatternDef(basePackage, ".*Action")); cd.addInitMethodDef(createAddClassPatternDef(basePackage, ".*ContentProvider")); cd.addInitMethodDef(createAddClassPatternDef(basePackage, ".*LabelProvider")); cd.addInitMethodDef(createAddClassPatternDef(basePackage, ".*Sorter")); handler.appendInitMethod(cd); handler.appendDestroyMethod(cd); handler.appendAspect(cd); handler.appendInterType(cd); handler.appendDI(cd); return cd; }