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

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

Introduction

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

Prototype

public static <C extends Comparable<?>> Range<C> lessThan(C endpoint) 

Source Link

Document

Returns a range that contains all values strictly less than endpoint .

Usage

From source file:com.pingcap.tikv.util.KeyRangeUtils.java

public static Range toRange(Coprocessor.KeyRange range) {
    if (range == null || (range.getStart().isEmpty() && range.getEnd().isEmpty())) {
        return Range.all();
    }//from  w w  w. j  a v  a 2 s .  c  o m
    if (range.getStart().isEmpty()) {
        return Range.lessThan(Comparables.wrap(range.getEnd()));
    }
    if (range.getEnd().isEmpty()) {
        return Range.atLeast(Comparables.wrap(range.getStart()));
    }
    return Range.closedOpen(Comparables.wrap(range.getStart()), Comparables.wrap(range.getEnd()));
}

From source file:com.pingcap.tikv.util.KeyRangeUtils.java

public static Range makeRange(ByteString startKey, ByteString endKey) {
    if (startKey.isEmpty() && endKey.isEmpty()) {
        return Range.all();
    }//from  ww  w. j a  v  a2  s. c o m
    if (startKey.isEmpty()) {
        return Range.lessThan(Comparables.wrap(endKey));
    } else if (endKey.isEmpty()) {
        return Range.atLeast(Comparables.wrap(startKey));
    }
    return Range.closedOpen(Comparables.wrap(startKey), Comparables.wrap(endKey));
}

From source file:com.cinchapi.concourse.server.concurrent.RangeTokens.java

/**
 * Convert the specified range {@code token} to one or more {@link Range
 * ranges} that provide the appropriate coverage.
 * //from   w ww  .  jav a 2 s  . c  o m
 * @param token
 * @return the Ranges
 */
public static Iterable<Range<Value>> convertToRange(RangeToken token) {
    List<Range<Value>> ranges = Lists.newArrayListWithCapacity(1);
    if (token.getOperator() == Operator.EQUALS || token.getOperator() == null) { // null operator means
                                                                                 // the range token is for
                                                                                 // writing
        ranges.add(Range.singleton(token.getValues()[0]));
    } else if (token.getOperator() == Operator.NOT_EQUALS) {
        ranges.add(Range.lessThan(token.getValues()[0]));
        ranges.add(Range.greaterThan(token.getValues()[0]));
    } else if (token.getOperator() == Operator.GREATER_THAN) {
        ranges.add(Range.greaterThan(token.getValues()[0]));
    } else if (token.getOperator() == Operator.GREATER_THAN_OR_EQUALS) {
        ranges.add(Range.atLeast(token.getValues()[0]));
    } else if (token.getOperator() == Operator.LESS_THAN) {
        ranges.add(Range.lessThan(token.getValues()[0]));
    } else if (token.getOperator() == Operator.LESS_THAN_OR_EQUALS) {
        ranges.add(Range.atMost(token.getValues()[0]));
    } else if (token.getOperator() == Operator.BETWEEN) {
        Value a = token.getValues()[0];
        Value b = token.getValues()[1];
        if (a == Value.NEGATIVE_INFINITY && b == Value.POSITIVE_INFINITY) {
            ranges.add(Range.<Value>all());
        } else if (token.getValues().length == 3) {
            ranges.add(Range.open(a, b));
        } else if (token.getValues().length == 4) {
            ranges.add(Range.closed(a, b));
        } else if (token.getValues().length == 5) {
            ranges.add(Range.openClosed(a, b));
        } else {
            ranges.add(Range.closedOpen(a, b));
        }
    } else if (token.getOperator() == Operator.REGEX || token.getOperator() == Operator.NOT_REGEX) {
        ranges.add(Range.<Value>all());
    } else {
        throw new UnsupportedOperationException();
    }
    return ranges;
}

From source file:org.robotframework.ide.eclipse.main.plugin.project.build.validation.versiondependent.setting.DuplicatedTestSetupInOlderValidator.java

@Override
protected Range<RobotVersion> getApplicableVersionRange() {
    return Range.lessThan(new RobotVersion(3, 0));
}

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

public static Range<BoundValue> toRange(final BoundDimFilter bound) {
    final BoundValue upper = bound.getUpper() != null ? new BoundValue(bound.getUpper(), bound.getOrdering())
            : null;//from   www.j  a  v  a  2  s  .  c om
    final BoundValue lower = bound.getLower() != null ? new BoundValue(bound.getLower(), bound.getOrdering())
            : null;

    if (lower == null) {
        return bound.isUpperStrict() ? Range.lessThan(upper) : Range.atMost(upper);
    } else if (upper == null) {
        return bound.isLowerStrict() ? Range.greaterThan(lower) : Range.atLeast(lower);
    } else {
        return Range.range(lower, bound.isLowerStrict() ? BoundType.OPEN : BoundType.CLOSED, upper,
                bound.isUpperStrict() ? BoundType.OPEN : BoundType.CLOSED);
    }
}

From source file:org.robotframework.ide.eclipse.main.plugin.project.build.validation.versiondependent.variables.ScalarAsListInOlderRobotValidator.java

@Override
protected Range<RobotVersion> getApplicableVersionRange() {
    return Range.lessThan(new RobotVersion(2, 8));
}

From source file:org.openmhealth.shimmer.common.transformer.FixedTimeZoneDateTimeRangeTransformer.java

@Override
public Range<OffsetDateTime> transformRange(Range<OffsetDateTime> inputRange) {

    if (inputRange.hasLowerBound() && inputRange.hasUpperBound()) {
        return Range.closedOpen(toFixedTimeZone(inputRange.lowerEndpoint()),
                toFixedTimeZone(inputRange.upperEndpoint()));
    }//from  ww  w. jav a2 s .c  o m

    if (inputRange.hasLowerBound()) {
        return Range.atLeast(toFixedTimeZone(inputRange.lowerEndpoint()));
    }

    if (inputRange.hasUpperBound()) {
        return Range.lessThan(toFixedTimeZone(inputRange.upperEndpoint()));
    }

    return Range.all();

}

From source file:org.robotframework.ide.eclipse.main.plugin.project.build.validation.versiondependent.variables.DictionaryExistenceValidator.java

@Override
protected Range<RobotVersion> getApplicableVersionRange() {
    return Range.lessThan(new RobotVersion(2, 9));
}

From source file:de.visiom.carpc.asb.serviceregistry.impl.entities.adapters.RangeAdapter.java

@Override
public Range<BigDecimal> unmarshal(String v) throws Exception {
    boolean leftInfinity = false, rightInfinity = false;
    String firstNumberString = v.substring(0, v.indexOf(".."));
    String secondNumberString = v.substring(v.indexOf("..") + 2);
    BigDecimal firstNumber = null, secondNumber = null;
    if (firstNumberString.equals("infty")) {
        leftInfinity = true;//from   w  w  w .  j  a  va2 s. c  o  m
    } else {
        firstNumber = BigDecimal.valueOf(Double.parseDouble(firstNumberString));
    }
    if (secondNumberString.equals("infty")) {
        rightInfinity = true;
    } else {
        secondNumber = BigDecimal.valueOf(Double.parseDouble(secondNumberString));
    }
    Range<BigDecimal> result = null;
    if (!leftInfinity && !rightInfinity) {
        result = Range.open(firstNumber, secondNumber);
    } else if (leftInfinity && rightInfinity) {
        result = Range.all();
    } else if (leftInfinity && !rightInfinity) {
        result = Range.lessThan(secondNumber);
    } else {
        result = Range.greaterThan(firstNumber);
    }
    return result;
}

From source file:google.registry.monitoring.metrics.MutableDistribution.java

/** Constructs an empty Distribution with the specified {@link DistributionFitter}. */
public MutableDistribution(DistributionFitter distributionFitter) {
    this.distributionFitter = checkNotNull(distributionFitter);
    ImmutableSortedSet<Double> boundaries = distributionFitter.boundaries();

    checkArgument(boundaries.size() > 0);
    checkArgument(Ordering.natural().isOrdered(boundaries));

    this.intervalCounts = TreeRangeMap.create();

    double[] boundariesArray = Doubles.toArray(distributionFitter.boundaries());

    // Add underflow and overflow intervals
    this.intervalCounts.put(Range.lessThan(boundariesArray[0]), 0L);
    this.intervalCounts.put(Range.atLeast(boundariesArray[boundariesArray.length - 1]), 0L);

    // Add finite intervals
    for (int i = 1; i < boundariesArray.length; i++) {
        this.intervalCounts.put(Range.closedOpen(boundariesArray[i - 1], boundariesArray[i]), 0L);
    }//from   w  ww .j a  v a 2  s. c o  m
}