package kr.debop4j.core.collection; import com.google.common.base.Objects; import kr.debop4j.core.tools.StringTool; import lombok.Getter; import lombok.extern.slf4j.Slf4j; import java.util.List; import static kr.debop4j.core.Guard.shouldNotBeNull; /** * 스크롤되는 목록을 표현하는 클래스입니다. * * @author 배성혁 ( sunghyouk.bae@gmail.com ) * @since 12. 9. 13 */ @Slf4j public abstract class ScrolledListBase<E, N extends Comparable<N>> implements IScrolledList<E, N> { private static final long serialVersionUID = -5077876937253068976L; @Getter private final List<E> list; @Getter private final N lowerBound; @Getter private final N upperBound; public ScrolledListBase(List<E> list, N lowerBound, N upperBound) { this.list = shouldNotBeNull(list, "list"); this.lowerBound = lowerBound; this.upperBound = upperBound; } public String toString() { return Objects.toStringHelper(this) .add("lowerBound", lowerBound) .add("upperBound", upperBound) .add("list", StringTool.listToString(list)) .toString(); } }