StAXからDOMへ変更。

今ゴリゴリ作ってるNicoCache_nl用のextensionで、XMLのパースにStAXを使っていたのだが、StAXはJava6から採用された技術なので、Java6がインストールできない環境では使うことができない。
とすると、Java5の環境でも動くようにするには、SAXかDOMに変更せねばならない。単純に考えれば、実装のアプローチが違うだけのSAXにした方が良いのだが、これだと.classファイルが増えてしまう。extensionと同じクラスにimplementsすれば、.classファイルを増やさずに実装することはできるが、あまりオブジェクト指向とは言えない解決方法だろう。
そうなると、残るはDOMのみだが、これはパフォーマンスの点でSAXに劣る。アプローチが違うから実装もやり直す必要がある。
どちらにするか悩んだが、パース処理の実行されるタイミングを考えると、多少時間が掛かってもDOMで実用上の問題はないだろう。


よって、DOMでゴリゴリ実装したのだが、 getElementsByTagName とかで取得した Node が Element しかないと分かっていても、決め打ちで Element にキャストするってのは、なんか違和感があるなぁ。
ジェネリックがない頃は、Map や List で決め打ちキャストしまくってたのにねぇ。人間ってのは慣れると麻痺してくるもんなんだなぁ。