Edit Diff Annotate History
Upload
List
Recent
Alias
Top
Help
EODelegateSortingAndFiltering : Edit
Last updated: Fri Mar 30 22:07:46 +0900 2007
!ソートとフィルタリング オブジェクトのソートとフィルタリングを行うEOSortOrderingとEOQualifierでは、独自の比較用メソッドを定義することができます。 どちらのクラスもオブジェクトを選択する過程でオブジェクト同士の比較を行いますが、比較を行うのはそれぞれの(クラス下にある)ComparisonSupportオブジェクトです。 比較するクラスを追加するにはComparisonSupportのサブクラスを作り、次に示す比較用のメソッドを実装します。 次にComparisonSupport.setSupportForClassでクラスとComparisonSupportオブジェクトを登録します。 オブジェクトの評価時、オブジェクトのクラスが登録されたものであれば対応するComparisonSupportオブジェクトに比較処理がデリゲートされます。 どのメソッドが呼ばれるかはオペレータやソート順序によって異なります。 !EOSortOrdering.ComparisonSupport :=compareAscending=:オブジェクト同士を昇順かどうか比較する。 :=compareDescending=:オブジェクト同士を降順かどうか比較する。 :=compareCaseInsensitiveAscending=:オブジェクト同士を昇順かどうか比較する。ただし大文字と小文字の違いを無視する。 :=compareCaseInsensitiveDescending=:オブジェクト同士を降順かどうか比較する。ただし大文字と小文字の違いを無視する。 !EOQualifier.ComparisonSupport かっこ内はEOQualifierフォーマットに対応するオペレータです。 :=doesContain=:オブジェクトがもう1つのオブジェクトを含むかどうか比較する。 :=isEqualTo=: (=)オブジェクト同士が等しいかどうか比較する。 :=isNotEqualTo=: (!=, <>)オブジェクト同士が等しくないかどうか比較する。 :=isGreaterThan=: (>)オブジェクトがもう1つのオブジェクトより大きいかどうか比較する。 :=isGreaterThanOrEqualTo=: (>=)オブジェクトがもう1つのオブジェクトより大きい、もしくは等しいかどうか比較する。 :=isLessThan=: (<)オブジェクトがもう1つのオブジェクトより小さいかどうか比較する。 :=isLessThanOrEqualTo=: (<=)オブジェクトがもう1つのオブジェクトより小さい、もしくは等しいかどうか比較する。 :=isLike=: (like)オブジェクトがパターンにマッチするかどうか比較する。 :=isCaseInsensitiveLike=: (caseInsensitiveLike)オブジェクトがパターンにマッチするかどうか比較する。ただし大文字と小文字の違いを無視する。