package com.googlecode.totallylazy.numbers; import com.googlecode.totallylazy.predicates.Between; import com.googlecode.totallylazy.predicates.LogicalPredicate; import static com.googlecode.totallylazy.numbers.Numbers.greaterThanOrEqualTo; import static com.googlecode.totallylazy.numbers.Numbers.lessThanOrEqualTo; public class BetweenPredicate extends LogicalPredicate<Number> implements Between<Number> { private final Number lower; private final Number upper; public BetweenPredicate(final Number lower, final Number upper) { this.lower = lower; this.upper = upper; } public boolean matches(Number other) { return greaterThanOrEqualTo(other, lower) && lessThanOrEqualTo(other, upper); } public Number lower() { return lower; } public Number upper() { return upper; } }