11 November 2007

[SIXX 0.3] 正式リリース


各Smalltalkで利用可能です。詳しくはSIXX HomeSIXX Wikiをご覧ください。

今回の目玉はFormatterです。サブクラスを定義しなくとも、動的にシリアライズのフォーマットを変化させることができます。


SixxContext applyFormatters: {SixxMockLiteralArrayFormatter on: Array} while: [
array sixxString.
]


とすると、いつものArrayのフォーマット書き出しが、SixxMockLiteralArrayFormatterの方へと移譲されます。


'<sixx.object sixx.id="0" sixx.type="Array" sixx.formatter="SixxMockLiteralArrayFormatter" >
<sixx.object sixx.id="1" sixx.type="String" >&#35;&#40;1 2 3 4 5&#41;</sixx.object>
</sixx.object>'


書き出されたSIXXには、新たなattributeであるsixx.formatter="フォーマッタ名"が埋め込まれます。SIXX読み込み時には、同名のFrmatterがイメージ内にあれば、デシリアライズが移譲されるというわけです。

「インスタンスの状態に応じてシリアライズのフォーマットを最適化したい」等の場合に有効です。

お試しください。

その他の機能はこちら。


リッチな機能を提供しつつも、比較的シンプルに収まっているのはSmalltalkの威力であると思います。