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

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

Introduction

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

Prototype

public static <C extends Comparable<?>> Range<C> closed(C lower, C upper) 

Source Link

Document

Returns a range that contains all values greater than or equal to lower and less than or equal to upper .

Usage

From source file:org.apache.bookkeeper.mledger.impl.NonDurableCursorImpl.java

private void recoverCursor(PositionImpl mdPosition) {
    Pair<PositionImpl, Long> lastEntryAndCounter = ledger.getLastPositionAndCounter();
    this.readPosition = ledger.getNextValidPosition(mdPosition);
    markDeletePosition = mdPosition;/*from  w  w w .j  av  a2s  .c o  m*/

    // Initialize the counter such that the difference between the messages written on the ML and the
    // messagesConsumed is equal to the current backlog (negated).
    long initialBacklog = readPosition.compareTo(lastEntryAndCounter.first) < 0
            ? ledger.getNumberOfEntries(Range.closed(readPosition, lastEntryAndCounter.first))
            : 0;
    messagesConsumedCounter = lastEntryAndCounter.second - initialBacklog;
}

From source file:io.github.mzmine.parameters.parametertypes.ranges.MZRangeParameter.java

@Override
public void loadValueFromXML(@Nonnull Element xmlElement) {
    NodeList minNodes = xmlElement.getElementsByTagName("min");
    if (minNodes.getLength() != 1)
        return;//  w  w  w .  java  2s.c  om
    NodeList maxNodes = xmlElement.getElementsByTagName("max");
    if (maxNodes.getLength() != 1)
        return;
    String minText = minNodes.item(0).getTextContent();
    String maxText = maxNodes.item(0).getTextContent();
    double min = Double.valueOf(minText);
    double max = Double.valueOf(maxText);
    setValue(Range.closed(min, max));

}

From source file:org.mskcc.shenkers.view.GeneViewBuilder.java

public RangeSet<Integer> asClosed(RangeSet<Integer> s) {
    RangeSet<Integer> exons = TreeRangeSet.create();
    for (Range<Integer> r : s.asRanges()) {
        exons.add(Range.closed(r.lowerBoundType() == BoundType.OPEN ? r.lowerEndpoint() + 1 : r.lowerEndpoint(),
                r.upperBoundType() == BoundType.OPEN ? r.upperEndpoint() - 1 : r.upperEndpoint()));
    }/*from  w  w  w  .j  a va2s.co  m*/
    return exons;
}

From source file:com.reimed.guid.client.pii.validation.GreogorianBirthdayConstraint.java

private ContiguousSet<Integer> range(int start, int end) {
    return ContiguousSet.create(Range.closed(start, end), DiscreteDomain.integers());
}

From source file:org.eclipse.fx.ui.controls.styledtext.internal.LineHelper.java

public Range<Integer> getRange(int index) {
    int lower = getOffset(index);
    int upper = lower + getLength(index);
    return Range.closed(Integer.valueOf(lower), Integer.valueOf(upper));
}

From source file:org.waveprotocol.box.server.persistence.blocks.impl.IntervalImpl.java

public IntervalImpl(VersionRange range, Segment segment, Collection<ReadableFragment> fragments,
        ImmutableSegmentSnapshot lastSnapshot) {
    this.range = range;
    this.segment = segment;
    Preconditions.checkArgument(!range.isEmpty(), "Empty range");
    Preconditions.checkArgument(!fragments.isEmpty(), "No fragments");
    ReadableFragment prevFragment = null;
    Iterator<ReadableFragment> it = fragments.iterator();
    while (it.hasNext()) {
        long endVersion;
        ReadableFragment fragment = it.next();
        if (prevFragment == null) {
            Preconditions.checkArgument(range.from() >= fragment.getStartVersion(),
                    "First fragment is not start of interval");
        } else {/*www .  j av  a  2 s.c  om*/
            Preconditions.checkArgument(prevFragment.getLastModifiedVersion() + 1 == fragment.getStartVersion(),
                    "Fragments are not sequential");
        }
        if (it.hasNext()) {
            Preconditions.checkArgument(fragment.getLastModifiedVersion() < range.to(), "Too many fragments");
            endVersion = fragment.getLastModifiedVersion();
        } else {
            endVersion = Math.max(fragment.getLastModifiedVersion(), range.to());
        }
        rangeMap.put(Range.closed(fragment.getStartVersion(), endVersion), fragment);
        prevFragment = fragment;
    }
    this.lastSnapshot = lastSnapshot;
}

From source file:jetbrains.jetpad.geometry.Rectangle.java

public Range<Integer> xRange() {
    return Range.closed(origin.x, origin.x + dimension.x);
}

From source file:org.opendaylight.mdsal.binding.java.api.generator.AbstractPrimitiveRangeGenerator.java

private String createRangeString(final Collection<RangeConstraint> constraints) {
    final List<Range<T>> ranges = new ArrayList<>(constraints.size());

    for (RangeConstraint c : constraints) {
        ranges.add(Range.closed(getValue(c.getMin()), getValue(c.getMax())));
    }// ww w  . j  a  va2 s.c o  m

    return ranges.toString();
}

From source file:org.locationtech.geogig.osm.internal.history.HistoryDownloader.java

/**
 * @return the next available changeset, or absent if reached the last one
 * @throws IOException/*from   ww w.j a  v a2s. com*/
 * @throws InterruptedException
 */
public Iterator<Changeset> fetchChangesets() {

    Range<Long> range = Range.closed(initialChangeset, finalChangeset);
    ContiguousSet<Long> changesetIds = ContiguousSet.create(range, DiscreteDomain.longs());
    final int fetchSize = 100;
    Iterator<List<Long>> partitions = Iterators.partition(changesetIds.iterator(), fetchSize);

    Function<List<Long>, Iterator<Changeset>> asChangesets = new Function<List<Long>, Iterator<Changeset>>() {
        @Override
        public Iterator<Changeset> apply(List<Long> batchIds) {

            Iterable<Changeset> changesets = downloader.fetchChangesets(batchIds);

            for (Changeset changeset : changesets) {
                if (filter.apply(changeset)) {
                    Supplier<Optional<File>> changesFile;
                    changesFile = downloader.fetchChanges(changeset.getId());
                    Supplier<Optional<Iterator<Change>>> changes = new ChangesSupplier(changesFile);
                    changeset.setChanges(changes);
                }
            }

            return changesets.iterator();
        }
    };

    Iterator<Iterator<Changeset>> changesets = Iterators.transform(partitions, asChangesets);
    Iterator<Changeset> concat = Iterators.concat(changesets);
    return concat;
}

From source file:org.mskcc.juber.intervals.IntervalNameMap.java

public void add(String contig, int start, int end, String name) {
    List<TreeRangeMap<Integer, String>> contigRanges = contigIntervals.get(contig);

    // if the contig-specific list does not exist, add it
    if (contigRanges == null) {
        contigRanges = new ArrayList<TreeRangeMap<Integer, String>>();
        contigIntervals.put(contig, contigRanges);
    }/*from  w ww  . j a v  a2  s.c  om*/

    Range<Integer> range = Range.closed(start, end);
    add(contigRanges, range, name);
}