時間が足りなくなった

しばらく遊ぶ時間が確保できなそうだ。

以下遊んでいるというに相応しいモノ。

ベースとなるデータを設定したオブジェクトを継承して子オブジェクトを作りたい。何を思ったかSeasar2で実験したらこうなった。

<component class="Template" name="base">
  <property name="engine">freemaker</property>
  <property name="writer">console</property>
  <property name="basePath">/</property>
</component>

<component class="Template" name="child">
  <initMethod>#self.extendsTemplate(base)</initMethod>
  <property name="path">test.ftl</property>
</component>

ここでいうTemplateクラスにextendsTemplateなるメソッドを用意してやりました。道具の使い方を間違えてます。。。インスタンスを引き継いでデータを設定できるが、引き継ぐ元のインスタンスは都度ディープコピーされる仕様です。何がしたかったのか目的がすり替わってきました。今はプログラミングできるだけで楽しかったりする。

確か最初はデータを一括で定義しておいて、データは構造的に定義できて、定義しておいたテンプレートを一括でマージして、指定した方法で一括で出力できる。みたいなツールだった気がする。だいぶ目的がズレていた。上記コードは実際のコードをだいぶ簡略化したもので実は動いてます。作るのが楽しくて寄り道と分かっていても動くレベルまで作ってしまう。これぞ趣味だと言える気がする。でもこんな時間もしばらくおあずけだ。