AutoRegister

TBがあったので。(http://d.hatena.ne.jp/yad-EL/20051001/1128185319)

<component class="org.seasar.framework.container.auto.FileSystemComponentAutoRegister">
	<property name="fileNameOfRoot">"aop.dicon"</property>
	<property name="autoNaming">
		<component class="org.seasar.framework.container.auto.DefaultAutoNaming"/>
	</property>
	<initMethod name="addClassPattern">
		<arg>"test.org.seasar.framework.container.auto"</arg>
		<arg>"Foo.*"</arg>
	</initMethod>
	<initMethod name="registAll"></initMethod>
</component>

2.3からは、↑ってdiconファイルを書くと、DefaultAutoNamingがコンポーネント名を決めてくれるんで、そのコンポーネント名をそのままS2Strutsでも使えないかって事です。


ちなみに、DefaultAutoNamingの実装↓。勉強会で触れた、「S2は?」って部分。

public class DefaultAutoNaming implements AutoNaming {

    private static final String IMPL = "Impl";

    public String defineName(String shortClassName) {
        if (shortClassName.endsWith(IMPL)) {
            shortClassName = shortClassName.substring(0, shortClassName.length() - IMPL.length());
        }
        shortClassName = StringUtil.decapitalize(shortClassName);
        return shortClassName;
    }

}