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

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

Introduction

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

Prototype

public BoundType lowerBoundType() 

Source Link

Document

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

Usage

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 av a 2  s .  c o  m*/
    return exons;
}

From source file:com.techshroom.wood.ModuleDependency.java

@Override
public String toString() {
    StringBuilder builder = new StringBuilder(getId()).append(':');
    Range<SemVer> r = getVersionRange();
    if (r.hasLowerBound()) {
        builder.append(r.lowerBoundType() == BoundType.OPEN ? '(' : '[').append(r.lowerEndpoint());
    } else {// ww  w. ja va  2  s. c om
        builder.append('(');
    }
    builder.append(',');
    if (r.hasUpperBound()) {
        builder.append(r.upperEndpoint()).append(r.upperBoundType() == BoundType.OPEN ? ')' : ']');
    } else {
        builder.append(')');
    }
    return builder.toString();
}

From source file:com.basistech.tclre.RuntimeColorMap.java

private void computeBmp(RangeMap<Integer, Short> fullMap) {
    for (Map.Entry<Range<Integer>, Short> me : fullMap.asMapOfRanges().entrySet()) {
        Range<Integer> range = me.getKey();
        int min = range.lowerEndpoint();
        if (range.lowerBoundType() == BoundType.OPEN) {
            min++;//from w  ww .ja v  a  2s.c  om
        }
        if (min < Character.MAX_VALUE) {
            int rmax = range.upperEndpoint();
            if (range.upperBoundType() == BoundType.OPEN) {
                rmax--;
            }
            int max = Math.min(Character.MAX_VALUE, rmax);
            for (int x = min; x <= max; x++) {
                this.bmpMap[x] = me.getValue();
            }
        }
    }
}

From source file:net.bican.iplib.AddressIterable.java

/**
 * @param range//from  w  w  w . j  av a2s . c o  m
 *          the address range
 * @param domain
 *          addressing domain
 */
public AddressIterable(final Range<IPAddress> range) {
    this();
    this.range = range;
    this.domain = (LongDiscreteDomain<IPAddress>) range.lowerEndpoint().getDomain();
    this.current = range.lowerEndpoint();
    if (range.lowerBoundType() == BoundType.OPEN) {
        this.current = this.domain.next(this.current);
    }
}

From source file:com.wealdtech.jackson.modules.DateTimeRangeSerializer.java

@Override
public void serialize(final Range<DateTime> value, final JsonGenerator gen, final SerializerProvider provider)
        throws IOException {
    if (value != null) {
        final StringBuilder sb = new StringBuilder(64);
        if (value.hasLowerBound()) {
            if (value.lowerBoundType().equals(BoundType.CLOSED)) {
                sb.append('[');
            } else {
                sb.append('(');
            }//from  www. j  av a  2s .  co  m
            sb.append(formatter.print(value.lowerEndpoint()));
        } else {
            sb.append('(');
            sb.append(NEGATIVE_INFINITY);
        }
        sb.append(',');

        if (value.hasUpperBound()) {
            sb.append(formatter.print(value.upperEndpoint()));
            if (value.upperBoundType().equals(BoundType.CLOSED)) {
                sb.append(']');
            } else {
                sb.append(')');
            }
        } else {
            sb.append(POSITIVE_INFINITY);
            sb.append(')');
        }

        gen.writeString(sb.toString());
    }
}

From source file:com.google.android.apps.forscience.whistlepunk.sensordb.SensorDatabaseImpl.java

/**
 * Gets the selection string and selectionArgs based on the tag, range and resolution tier.
 *
 * @return a pair where the first element is the selection string and the second element is the
 * array of selectionArgs.//from  w  w  w .j  av a2 s  . c o m
 */
private Pair<String, String[]> getSelectionAndArgs(String sensorTag, TimeRange range, int resolutionTier) {
    List<String> clauses = new ArrayList<>();
    List<String> values = new ArrayList<>();

    clauses.add(ScalarSensorsTable.Column.TAG + " = ?");
    values.add(sensorTag);

    if (resolutionTier >= 0) {
        clauses.add(ScalarSensorsTable.Column.RESOLUTION_TIER + " = ?");
        values.add(String.valueOf(resolutionTier));
    }

    Range<Long> times = range.getTimes();
    Range<Long> canonicalTimes = times.canonical(DiscreteDomain.longs());
    if (canonicalTimes.hasLowerBound()) {
        String comparator = (canonicalTimes.lowerBoundType() == BoundType.CLOSED) ? " >= ?" : " > ?";
        clauses.add(ScalarSensorsTable.Column.TIMESTAMP_MILLIS + comparator);
        values.add(String.valueOf(canonicalTimes.lowerEndpoint()));
    }
    if (canonicalTimes.hasUpperBound()) {
        String comparator = (canonicalTimes.upperBoundType() == BoundType.CLOSED) ? " =< ?" : " < ?";
        clauses.add(ScalarSensorsTable.Column.TIMESTAMP_MILLIS + comparator);
        values.add(String.valueOf(canonicalTimes.upperEndpoint()));
    }

    return new Pair<>(Joiner.on(" AND ").join(clauses), values.toArray(new String[values.size()]));
}

From source file:org.openmhealth.dsu.repository.MongoDataPointRepositoryImpl.java

void addCreationTimestampCriteria(Query query, Range<OffsetDateTime> timestampRange) {

    if (timestampRange.hasLowerBound() || timestampRange.hasUpperBound()) {

        Criteria timestampCriteria = where("header.creation_date_time");

        if (timestampRange.hasLowerBound()) {
            if (timestampRange.lowerBoundType() == CLOSED) {
                timestampCriteria = timestampCriteria.gte(timestampRange.lowerEndpoint());
            } else {
                timestampCriteria = timestampCriteria.gt(timestampRange.lowerEndpoint());
            }/*ww  w .  ja  v  a  2 s  . c om*/
        }

        if (timestampRange.hasUpperBound()) {
            if (timestampRange.upperBoundType() == CLOSED) {
                timestampCriteria = timestampCriteria.lte(timestampRange.upperEndpoint());
            } else {
                timestampCriteria = timestampCriteria.lt(timestampRange.upperEndpoint());
            }
        }

        query.addCriteria(timestampCriteria);
    }
}

From source file:com.wealdtech.collect.TreeRangedMap.java

/**
 * Validate a range prior to insertion//from w w w  . j  av a 2s. c o  m
 * @param range the range to validate
 */
private void validateRange(final Range<K> range) {
    if (!range.hasLowerBound()) {
        throw new IllegalArgumentException("RangedMap only supports ranges with defined lower bound");
    }
    if (!range.lowerBoundType().equals(BoundType.CLOSED)) {
        throw new IllegalArgumentException("RangedMap must use ranges with closed lower bound");
    }
    if (!range.hasUpperBound()) {
        throw new IllegalArgumentException("RangedMap must use ranges with defined upper bound");
    }
    if (!range.upperBoundType().equals(BoundType.OPEN)) {
        throw new IllegalArgumentException("RangedMap must use ranges with open upper bound");
    }
    if (range.isEmpty()) {
        throw new IllegalArgumentException("RangedMap must use ranges with non-zero size");
    }
}

From source file:com.wealdtech.utils.RangeComparator.java

@Override
public int compare(Range<C> range1, Range<C> range2) {
    int result = ((Boolean) range1.hasLowerBound()).compareTo(range2.hasLowerBound());
    if (result == 0) {
        if (range1.hasLowerBound()) {
            result = range1.lowerEndpoint().compareTo(range2.lowerEndpoint());
            if (result == 0) {
                result = range1.lowerBoundType().compareTo(range2.lowerBoundType());
            }//w  w  w  .  j  a  v a2  s .  c  o  m
        }
    }

    if (result == 0) {
        result = ((Boolean) range1.hasUpperBound()).compareTo(range2.hasUpperBound());
        if (result == 0) {
            if (range1.hasUpperBound()) {
                result = range1.upperEndpoint().compareTo(range2.upperEndpoint());
                if (result == 0) {
                    result = range1.upperBoundType().compareTo(range2.upperBoundType());
                }
            }
        }
    }

    return result;
}

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

private com.google.common.collect.Range<Integer> mapToLocal(int index,
        com.google.common.collect.Range<Integer> global) {
    return com.google.common.collect.Range.range(
            Integer.valueOf(global.lowerEndpoint().intValue() - getOffset(index)), global.lowerBoundType(),
            Integer.valueOf(global.upperEndpoint().intValue() - getOffset(index)), global.upperBoundType());
}