List of usage examples for com.google.common.collect DiscreteDomain previous
public abstract C previous(C value);
From source file:org.kitesdk.data.spi.predicates.Ranges.java
public static <T extends Comparable> Range<T> adjustClosed(Range<T> range, DiscreteDomain<T> domain) { // adjust to a closed range to avoid catching extra keys if (range.hasLowerBound()) { T lower = range.lowerEndpoint(); if (range.isLowerBoundOpen()) { lower = domain.next(lower);//w w w.ja v a 2 s . c o m } if (range.hasUpperBound()) { T upper = range.upperEndpoint(); if (range.isUpperBoundOpen()) { upper = domain.previous(upper); } return closed(lower, upper); } else { return atLeast(lower); } } else if (range.hasUpperBound()) { T upper = range.upperEndpoint(); if (range.isUpperBoundOpen()) { upper = domain.previous(upper); } return atMost(upper); } else { throw new IllegalArgumentException("Invalid range: no endpoints"); } }
From source file:org.kitesdk.data.spi.Predicates.java
public static <T extends Comparable> Range<T> adjustClosed(Range<T> range, DiscreteDomain<T> domain) { // adjust to a closed range to avoid catching extra keys if (range.hasLowerBound()) { T lower = range.lowerEndpoint(); if (range.isLowerBoundOpen()) { lower = domain.next(lower);/*from www . j ava2 s . c o m*/ } if (range.hasUpperBound()) { T upper = range.upperEndpoint(); if (range.isUpperBoundOpen()) { upper = domain.previous(upper); } return Ranges.closed(lower, upper); } else { return Ranges.atLeast(lower); } } else if (range.hasUpperBound()) { T upper = range.upperEndpoint(); if (range.isUpperBoundOpen()) { upper = domain.previous(upper); } return Ranges.atMost(upper); } else { throw new IllegalArgumentException("Invalid range: no endpoints"); } }