APIでもUIでも。
ページセットを始めとして、複数のオブジェクトや要素を扱う場面で、セットが個々の要素に委譲する仕組みがほしい。
→ 仕組みは要らない。セットを受けた要素がどうするか決める。
→ 仕組みは要らない。委譲後に得る結果をマージできるとは限らないので。セットを扱う側のコードで個別対応。
ページセットをフィルタリングするのは要素 †
例えば検索はページセットをフィルタリングする要素。
他のページセットを受ける要素も同様のはず。
独自にセットを扱うので仕組みは不要。
ページセット以外は? †
では例えばリンクのセットを操作するのは?
ページセットはページオブジェクトかそのIDのセット。
リンクのセットはリンク要素?リンク要素のIDはオブジェクト自身の中にしかないので外からのアクセスに使えない。オブジェクト以外に適当なものもない。
リンク要素を得るにはデータアクセスのセレクターを使ってページから取得。
要素の型はいろいろ。受け入れた側が適当にTo…を呼んで変換する。なのでセット内の各要素を呼ぶのは受け入れ側要素のコード。フレームワークでは扱わない。
To…を呼ぶのは旧方式の検索/フォーマットと同じ。
:i/ハブとして機能する要素 †
要素に同名のパラメーター名でセットを複数与えたとき、要素にはセットのリストが渡る。それらをマージするか(どうマージするか)個別に扱うかは要素次第。(マージするなら自身の型にマージ方法が定義されている)
確実にマージされるようにするには記法でハブ要素を使えばいい。
例えば表をマージするとき、実質は表という型の機能で、ハブは呼び出すだけ。
共通する行・列は統合して、残りは積にする。