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

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

Introduction

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

Prototype

public C upperEndpoint() 

Source Link

Document

Returns the upper endpoint of this range.

Usage

From source file:org.nmdp.ngs.range.Ranges.java

/**
 * Return an ordering by upper endpoint over ranges.
 *
 * @param <C> range endpoint type/*  ww  w  .  ja v  a2s  . c  o  m*/
 * @return an ordering by upper endpoint over ranges
 */
public static <C extends Comparable> Ordering<Range<C>> orderingByUpperEndpoint() {
    return new Ordering<Range<C>>() {
        @Override
        public int compare(final Range<C> left, final Range<C> right) {
            return ComparisonChain.start().compare(left.hasUpperBound(), right.hasUpperBound())
                    .compare(left.upperEndpoint(), right.upperEndpoint()).result();
        }
    };
}

From source file:org.obiba.opal.web.gwt.app.client.magma.derive.view.ValueMapEntry.java

public static Builder fromRange(Range<? extends Number> range) {
    return fromRange(range.hasLowerBound() ? range.lowerEndpoint() : null,
            range.hasUpperBound() ? range.upperEndpoint() : null).label(range.toString());
}

From source file:google.registry.model.common.PersistedRangeLong.java

public static PersistedRangeLong create(Range<Long> range) {
    PersistedRangeLong instance = new PersistedRangeLong();
    if (range.hasLowerBound()) {
        instance.lowerBound = range.lowerEndpoint();
        instance.lowerBoundType = range.lowerBoundType();
    }//w ww .j a v  a 2 s  . c om
    if (range.hasUpperBound()) {
        instance.upperBound = range.upperEndpoint();
        instance.upperBoundType = range.upperBoundType();
    }
    return instance;
}

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

private static Range<Long> toLongRange(final Range<BoundValue> range) {
    if (!range.hasUpperBound() && !range.hasLowerBound()) {
        return Range.all();
    } else if (range.hasUpperBound() && !range.hasLowerBound()) {
        return Range.upTo(Long.parseLong(range.upperEndpoint().getValue()), range.upperBoundType());
    } else if (!range.hasUpperBound() && range.hasLowerBound()) {
        return Range.downTo(Long.parseLong(range.lowerEndpoint().getValue()), range.lowerBoundType());
    } else {/*w  ww .  j  a v a  2  s  . c  o  m*/
        return Range.range(Long.parseLong(range.lowerEndpoint().getValue()), range.lowerBoundType(),
                Long.parseLong(range.upperEndpoint().getValue()), range.upperBoundType());
    }
}

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

/**
 * Serializes the specified range of <code>Field</code>s into the specified writer.
 * @param writer the writer to write to//from  w w w . ja  v  a 2  s  .c om
 * @param range the range of fields to serialize
 * 
 * @throws IOException if an I/O problem occurs
 */
public static void writeRange(ByteWriter writer, Range<Field> range) throws IOException {

    writeField(writer, range.lowerEndpoint());
    writeBoundType(writer, range.lowerBoundType());
    writeField(writer, range.upperEndpoint());
    writeBoundType(writer, range.upperBoundType());
}

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

/**
 * Return the length of the specified range.
 *
 * @param range range, must not be null and must be [closed, open)
 * @return the length of the specified range
 *//*from w w w.ja  v a 2  s  .co  m*/
public static long length(final Range<Long> range) {
    checkClosedOpen(range);
    return Math.max(0L, range.upperEndpoint() - range.lowerEndpoint());
}

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

/**
 * Return the end/upper endpoints in the specified ranges.
 *
 * @param ranges ranges, must not be null, must not contain any null ranges, and all ranges must be [closed, open)
 * @return the end/upper endpoints in the specified ranges
 *///from w  ww.j  a  va  2s. c om
public static List<Long> ends(final Iterable<Range<Long>> ranges) {
    List<Long> ends = new ArrayList<Long>();
    for (Range<Long> range : ranges) {
        checkClosedOpen(range);
        ends.add(range.upperEndpoint());
    }
    return ends;
}

From source file:org.nmdp.ngs.range.Ranges.java

/**
 * Return true if the specified range is strictly less than the specified value.
 *
 * @param <C> range endpoint type//from w w w. j a  v  a  2s .com
 * @param range range, must not be null
 * @param value value, must not be null
 * @return true if the specified range is strictly less than the specified value
 */
public static <C extends Comparable> boolean isLessThan(final Range<C> range, final C value) {
    checkNotNull(range);
    checkNotNull(value);

    if (!range.hasUpperBound()) {
        return false;
    }
    if (range.upperBoundType() == BoundType.OPEN && range.upperEndpoint().equals(value)) {
        return true;
    }
    return range.upperEndpoint().compareTo(value) < 0;
}

From source file:com.github.fge.grappa.matchers.join.JoinMatcherBuilder.java

private static Range<Integer> toClosedRange(Range<Integer> range) {
    /*/*from   ww  w .  j  a va 2  s . c  o m*/
     * The canonical form will always be the same: closed on the lower bound
     * (if any; but here we are guaranteed that), open on the upper bound
     * (if any).
     *
     * All we have to do is therefore to pick the canonical representation,
     * pick the lower bound, and if it has an upper bound, pick it and
     * substract 1.
     */
    Range<Integer> canonical = range.canonical(DiscreteDomain.integers());
    int lowerBound = canonical.lowerEndpoint();
    return canonical.hasUpperBound() ? Range.closed(lowerBound, canonical.upperEndpoint() - 1)
            : Range.atLeast(lowerBound);
}

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

/**
 * Computes the serialized size of the specified range of fields. 
 * /*from w  w  w  . ja  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());
}