Example usage for com.google.common.collect Range upperBoundType

List of usage examples for com.google.common.collect Range upperBoundType

Introduction

In this page you can find the example usage for com.google.common.collect Range upperBoundType.

Prototype

public BoundType upperBoundType() 

Source Link

Document

Returns the type of this range's upper bound: BoundType#CLOSED if the range includes its upper endpoint, BoundType#OPEN if it does not.

Usage

From source file:com.tinspx.util.base.NumberUtils.java

public static int getRandomInt(Range<Integer> range, Random random) {
    int min = range.lowerEndpoint();
    if (range.lowerBoundType() == BoundType.OPEN) {
        min++;/* w w w .  j a  v a  2  s .co m*/
    }
    int max = range.upperEndpoint();
    if (range.upperBoundType() == BoundType.CLOSED) {
        max++;
    }
    return random.nextInt(max - min) + min;
}

From source file:org.cinchapi.concourse.server.model.Ranges.java

/**
 * Equivalent to {@link Range#upperBoundType()} except that
 * {@link BoundType#CLOSED} is returned if the upper endpoint is equals to
 * {@link Value#POSITVE_INFINITY}.//from   w  w w  . ja  va 2s .co  m
 * 
 * @param range
 * @return the upper bound type
 */
public static BoundType getUpperBoundType(Range<Value> range) {
    Value upper = getUpperEndpoint(range);
    if (upper == Value.POSITIVE_INFINITY) {
        return BoundType.CLOSED;
    } else {
        return range.upperBoundType();
    }
}

From source file:org.apache.druid.sql.calcite.filtration.Bounds.java

public static BoundDimFilter toFilter(final BoundRefKey boundRefKey, final Range<BoundValue> range) {
    return new BoundDimFilter(boundRefKey.getDimension(),
            range.hasLowerBound() ? range.lowerEndpoint().getValue() : null,
            range.hasUpperBound() ? range.upperEndpoint().getValue() : null,
            range.hasLowerBound() && range.lowerBoundType() == BoundType.OPEN,
            range.hasUpperBound() && range.upperBoundType() == BoundType.OPEN, null,
            boundRefKey.getExtractionFn(), boundRefKey.getComparator());
}

From source file:io.horizondb.model.core.util.SerializationUtils.java

/**
 * Computes the serialized size of the specified range of fields. 
 * /*from   ww  w. j  a v a2 s .c o m*/
 * @param range the range
 * @return the serialized size of the specified range of fields 
 */
public static int computeRangeSerializedSize(Range<Field> range) {

    return computeFieldSerializedSize(range.lowerEndpoint())
            + computeBoundTypeSerializedSize(range.lowerBoundType())
            + computeFieldSerializedSize(range.upperEndpoint())
            + computeBoundTypeSerializedSize(range.upperBoundType());
}

From source file:org.dishevelled.bio.align.Alignments.java

/**
 * Confirm that the specified range is [closed, open).
 *
 * @param range range to check, must not be null
 *//*from   www . j  a v  a  2 s . c  o m*/
static void checkClosedOpen(final Range<Long> range) {
    checkNotNull(range);
    checkArgument(BoundType.CLOSED == range.lowerBoundType(),
            "range must be [closed, open), lower bound type was open");
    checkArgument(BoundType.OPEN == range.upperBoundType(),
            "range must be [closed, open), upper bound type was closed");
}

From source file:com.tinspx.util.base.NumberUtils.java

@SuppressWarnings("rawtypes")
public static <F extends Comparable, T extends Comparable> Range<T> transform(@NonNull Range<F> range,
        @NonNull Function<? super F, ? extends T> function) {
    if (range.hasLowerBound()) {
        if (range.hasUpperBound()) {
            return Range.range(function.apply(range.lowerEndpoint()), range.lowerBoundType(),
                    function.apply(range.upperEndpoint()), range.upperBoundType());
        } else {/*from   w  w  w .j av a 2s  . c o  m*/
            return Range.downTo(function.apply(range.lowerEndpoint()), range.lowerBoundType());
        }
    } else if (range.hasUpperBound()) {
        return Range.upTo(function.apply(range.upperEndpoint()), range.upperBoundType());
    } else {
        return Range.all();
    }
}

From source file:ec.util.grid.swing.ext.TableGridCommand.java

private static Table<?> copy2(GridModel model, Range<Integer> r, Range<Integer> c, boolean rowHeader,
        boolean columnHeader) {
    if (model.getRowCount() == 0 || model.getColumnCount() == 0) {
        return new Table<>(0, 0);
    }/*from   w w  w .  j  a  v a  2 s . c om*/
    int firstRow = r.hasLowerBound()
            ? (r.lowerBoundType().equals(BoundType.CLOSED) ? r.lowerEndpoint() : (r.lowerEndpoint() + 1))
            : 0;
    int lastRow = r.hasUpperBound()
            ? (r.upperBoundType().equals(BoundType.CLOSED) ? r.upperEndpoint() : (r.upperEndpoint() - 1))
            : (model.getRowCount() - 1);
    int firstColumn = c.hasLowerBound()
            ? (c.lowerBoundType().equals(BoundType.CLOSED) ? c.lowerEndpoint() : (c.lowerEndpoint() + 1))
            : 0;
    int lastColumn = c.hasUpperBound()
            ? (c.upperBoundType().equals(BoundType.CLOSED) ? c.upperEndpoint() : (c.upperEndpoint() - 1))
            : (model.getColumnCount() - 1);
    return copy(model, firstRow, firstColumn, lastRow, lastColumn, rowHeader, columnHeader);
}

From source file:org.immutables.mongo.repository.internal.Support.java

@SuppressWarnings("unchecked")
public static <T extends Comparable<T>> Range<Comparable<Object>> writable(TypeAdapter<T> adapter,
        Range<T> range) {
    if (range.hasLowerBound() && range.hasUpperBound()) {
        return Range.range((Comparable<Object>) writable(adapter, range.lowerEndpoint()),
                range.lowerBoundType(), (Comparable<Object>) writable(adapter, range.upperEndpoint()),
                range.upperBoundType());
    } else if (range.hasLowerBound()) {
        return Range.downTo((Comparable<Object>) writable(adapter, range.lowerEndpoint()),
                range.lowerBoundType());
    } else if (range.hasUpperBound()) {
        return Range.upTo((Comparable<Object>) writable(adapter, range.upperEndpoint()),
                range.upperBoundType());
    }//  ww  w . j a va  2  s  . co m
    throw new AssertionError();
}

From source file:org.learningu.scheduling.util.bst.GeneralRange.java

/**
 * Converts a Range to a GeneralRange.//w w w .j  a va2  s.  c  om
 */
@SuppressWarnings("rawtypes")
static <T extends Comparable> GeneralRange<T> from(Range<T> range) {
    @Nullable
    T lowerEndpoint = range.hasLowerBound() ? range.lowerEndpoint() : null;
    BoundType lowerBoundType = range.hasLowerBound() ? range.lowerBoundType() : OPEN;

    @Nullable
    T upperEndpoint = range.hasUpperBound() ? range.upperEndpoint() : null;
    BoundType upperBoundType = range.hasUpperBound() ? range.upperBoundType() : OPEN;
    return new GeneralRange<T>(Ordering.natural(), range.hasLowerBound(), lowerEndpoint, lowerBoundType,
            range.hasUpperBound(), upperEndpoint, upperBoundType);
}

From source file:io.druid.sql.calcite.filtration.RangeSets.java

public static List<Interval> toIntervals(final RangeSet<Long> rangeSet) {
    final List<Interval> retVal = Lists.newArrayList();

    for (Range<Long> range : rangeSet.asRanges()) {
        final long start;
        final long end;

        if (range.hasLowerBound()) {
            final long millis = range.lowerEndpoint();
            start = millis + (range.lowerBoundType() == BoundType.OPEN ? 1 : 0);
        } else {/*from w w w . j a v  a 2 s  . com*/
            start = Filtration.eternity().getStartMillis();
        }

        if (range.hasUpperBound()) {
            final long millis = range.upperEndpoint();
            end = millis + (range.upperBoundType() == BoundType.OPEN ? 0 : 1);
        } else {
            end = Filtration.eternity().getEndMillis();
        }

        retVal.add(Intervals.utc(start, end));
    }

    return retVal;
}