仕様検討:継承から委譲へ

DefaultPagerConditionを継承させずに、Pagerを実現したいという要望を聞いています。実際にはPagerConditionインターフェイスを実装しておけば、検索条件オブジェクトとして利用できるので、DefaultPagerConditionの継承が必須というわけではありません。しかし、count,offset,limitの3つのプロパティのアクセサを作る必要がでてきます。(もちろん、値を保持するためのそれぞれのフィールドも)

before:
public interface PagerCondition {
void setOffset(int offset);
int getOffset();
void setLimit(int limit);
int getLimit();
void setCount(int count);
int getCount();
}
public class MyCondition implements PagerCondition {
...
}

なので、ほとんどの方がDefaultPagerConditionを継承して、検索条件オブジェクトを作成しているのが現状だと思います。そこで継承によるDefaultPagerConditionの実装の再利用をやめて、
委譲でページャ用の検索条件オブジェクトを保持すればどうかなと考えています。

after:
public interface Pageable {
void setPagerCondition(DefaultPagerCondition condition);
DefaultPagerCondition getPagerCondition();
}
public class MyCondition implements Pageable {
...
}

アノテーションやInterTypeなんかも考えられるので、
もし他に良いアイディアがありましたら、ご意見よろしくです。