Example usage for com.google.common.collect DiscreteDomain next

List of usage examples for com.google.common.collect DiscreteDomain next

Introduction

In this page you can find the example usage for com.google.common.collect DiscreteDomain next.

Prototype

public abstract C next(C value);

Source Link

Document

Returns the unique least value of type C that is greater than value , or null if none exists.

Usage

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);
        }/*from  w w  w.  j  a va2  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  w w  w .jav  a 2  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");
    }
}