2007年6月18日月曜日

Pageクラス(Teeda)でPropertyInterType

スズキです。

setter/getter撲滅キャンペーン第二弾です。
http://suz-lab.blogspot.com/2007/06/resourceseasar2.html

いろいろPropertyInterTypeの実験をしているのですが、
ついに、しっくりくる、パターンを見つけました。

表記にあるとおり、Teedaで利用するPageクラスのフィールドに対しての適用です。
下記は"Smart Deploy"を想定した設定です。

これでprivate以外のアクセス修飾子のフィールドが
PropertyInterTypeの対象になり、setter/getterを書く必要がなくなります。
(実行時に作成してくれます)

--------customizer.dicon--------
........
<components>
  <component name="propertyInterTypeCustomizer"
      class="org.seasar.framework.container.customizer.InterTypeCustomizer">
    <property name="interTypeName">"propertyInterType"</property>
  </component>
</components>
--------

--------customizer.dicon--------
...
<components>
  <include path="default-customizer.dicon"/>
  <include path="extra-customizer.dicon"/>
  <component name="pageCustomizer"
      class="org.seasar.framework.container.customizer.CustomizerChain">
    <initMethod name="addCustomizer">
      <arg>classLoaderAwareTraceCustomizer</arg>
    </initMethod>
    <initMethod name="addCustomizer">
      <arg>propertyInterTypeCustomizer</arg>
    </initMethod>
  </component>
</components>
--------

--------XxxPage.java
........
public class XxxPage {
  int question01; // PropertyInterType適用
  public String doAction() {
    return null;
  }
}
--------
※privateだと、PropertyInterTypeはききません。

DTOとかにも、うまく適応できるといいんだけどなー。

--
blog: http://suz-lab.blogspot.com/

0 コメント: