カスタムコンポーネントの作成

3限はプロコン勉強会。
とりあえず、座標系における移動については、move配列を用意できるようにならなければ…
例えば、int move = {{1,1},{1,-1},{-1,1},{-1,-1}}みたいな感じで配列を用意すれば
x座標にmove[i][0]を、y座標にmove[i][1]を加算する処理を、for文でiを変化させながら行っていけば
簡単に座標系における移動ができます。if文いっぱい書かなくても済みます。
あとは幾何の交差判定で、isLeftメソッドが出てきました。内積の計算ですね、幾何には必須。
それとプレオーダー、ポストオーダー、インオーダーと二分木の生成など、今回はためになる話が多かったです。


それからは書類を少し整理して、WSP本の仕上げへ。カスタムコンポーネントの作成です。
これにはUIComponentBaseを継承するUIコンポーネントクラス(xmlに登録するために文字列を返すだけ)
UIComponentTagを継承するタグクラス(属性フィールドをメンバとして持ち、コンポーネントのmapにputしていく)
Rendererを継承するレンダラクラス(タグの開始部分と終了部分における出力)
TLDファイル(カスタムタグの定義と同様)
を、用意します。
で、
faces-config.xml(UIコンポーネントとレンダラを登録)
を編集します。
あとはJSPで、カスタムタグと同様にprefixを定義し、body内で使っていきます。
全部サンプルが載ってたからサクサク進んだけど、これ自分で作れって言われたらちょっとキツいなぁ…
Tokenizerとか初めて聞いたし、あとタグクラスでコンポーネントの属性をputしていく時に
バインディングが指定されているかどうかで処理が分岐したりとか、このあたりはややこしかった。


まぁともかく本は終了!これで基礎はさらえたはず。
そろそろゼミの発表の資料作らなきゃなぁ。どうも私、一週間早まりそうなので。


今日はお客様の多い日でした。
他研からプロコン勉強会に参加しにきてくれた同期、他研から授業の質問に来た同期、
サークルの新歓ついでに顔を見せてくれたOBさん。
今後もより入りやすい、風通しのよい研究室でいたいなぁと思う。