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:net.bican.iplib.IPAddresses.java

static Range<IPAddress> canonical(final Range<IPAddress> range, final LongDiscreteDomain<IPAddress> domain) {
    if (range.isEmpty()) {
        return null;
    }/*from   w  w  w  . j  a v a 2  s  .  co m*/
    final boolean l = range.lowerBoundType() == BoundType.OPEN;
    final boolean u = range.upperBoundType() == BoundType.OPEN;
    final IPAddress s = range.lowerEndpoint();
    final IPAddress e = range.upperEndpoint();
    if (l && u) {
        Range.closed(domain.next(s), domain.previous(e));
    } else if (l) {
        return Range.closed(domain.next(s), e);
    } else if (u) {
        return Range.closed(s, domain.previous(e));
    }
    return range;
}

From source file:org.apache.kylin.common.util.RangeUtil.java

public static <C extends Comparable<?>> boolean lowerBoundInclusive(Range<C> range) {
    if (!range.hasLowerBound()) {
        throw new IllegalArgumentException(("This range does not have lower bound" + range));
    }//from  ww w  .  jav  a 2  s  .c om
    return range.lowerBoundType() == BoundType.CLOSED;
}

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  w  ww  .jav  a  2  s.co  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: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:org.apache.kylin.common.util.RangeUtil.java

public static String formatTsRange(Range<Long> tsRange) {
    if (tsRange == null)
        return null;

    StringBuilder sb = new StringBuilder();
    if (tsRange.hasLowerBound()) {
        if (tsRange.lowerBoundType() == BoundType.CLOSED) {
            sb.append("[");
        } else {//from   w  w w  . j a  va  2s  .  c  om
            sb.append("(");
        }
        sb.append(DateFormat.formatToTimeStr(tsRange.lowerEndpoint()));
    } else {
        sb.append("(-");
    }

    sb.append("~");

    if (tsRange.hasUpperBound()) {
        sb.append(DateFormat.formatToTimeStr(tsRange.upperEndpoint()));
        if (tsRange.upperBoundType() == BoundType.CLOSED) {
            sb.append("]");
        } else {
            sb.append(")");
        }
    } else {
        sb.append("+)");
    }
    return sb.toString();
}

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);
    }/* w w  w.j av a  2s  . com*/
    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.learningu.scheduling.util.bst.GeneralRange.java

/**
 * Converts a Range to a GeneralRange./*w  w  w  .jav a 2s .  c  o m*/
 */
@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:org.cinchapi.concourse.server.model.Ranges.java

/**
 * Equivalent to {@link Range#lowerBoundType()} except that
 * {@link BoundType#CLOSED} is returned if the lower endpoint is equals to
 * {@link Value#NEGATIVE_INFINITY}./*from  w w w . j a v  a2s.  co m*/
 * 
 * @param range
 * @return the lower bound type
 */
public static BoundType getLowerBoundType(Range<Value> range) {
    Value lower = getLowerEndpoint(range);
    if (lower == Value.NEGATIVE_INFINITY) {
        return BoundType.CLOSED;
    } else {
        return range.lowerBoundType();
    }
}

From source file:org.apache.kylin.metadata.realization.SQLDigestUtil.java

private static TupleFilter createFilterForRealtime(TupleFilter originFilter, TblColRef partitionColRef,
        Range<Long> tsRange) {
    DataType type = partitionColRef.getColumnDesc().getType();

    String startTimeStr, endTimeStr;
    CompareTupleFilter startFilter = null, endFilter = null;
    if (tsRange.hasLowerBound()) {
        startTimeStr = formatTimeStr(type, tsRange.lowerEndpoint());
        if (tsRange.lowerBoundType() == BoundType.CLOSED) {
            startFilter = new CompareTupleFilter(TupleFilter.FilterOperatorEnum.GTE);
        } else {//from w ww.  java  2 s .co m
            startFilter = new CompareTupleFilter(TupleFilter.FilterOperatorEnum.GT);
        }
        ColumnTupleFilter columnTupleFilter = new ColumnTupleFilter(partitionColRef);
        ConstantTupleFilter constantTupleFilter = new ConstantTupleFilter(startTimeStr);
        startFilter.addChild(columnTupleFilter);
        startFilter.addChild(constantTupleFilter);
    }

    if (tsRange.hasUpperBound()) {
        endTimeStr = formatTimeStr(type, tsRange.upperEndpoint());
        if (tsRange.upperBoundType() == BoundType.CLOSED) {
            endFilter = new CompareTupleFilter(TupleFilter.FilterOperatorEnum.LTE);
        } else {
            endFilter = new CompareTupleFilter(TupleFilter.FilterOperatorEnum.LT);
        }
        ColumnTupleFilter columnTupleFilter = new ColumnTupleFilter(partitionColRef);
        ConstantTupleFilter constantTupleFilter = new ConstantTupleFilter(endTimeStr);
        endFilter.addChild(columnTupleFilter);
        endFilter.addChild(constantTupleFilter);
    }

    if (originFilter == null) {
        if (endFilter == null) {
            return startFilter;
        }
        if (startFilter == null) {
            return endFilter;
        }
    }

    LogicalTupleFilter logicalTupleFilter = new LogicalTupleFilter(TupleFilter.FilterOperatorEnum.AND);

    if (originFilter != null) {
        logicalTupleFilter.addChild(originFilter);
    }
    if (startFilter != null) {
        logicalTupleFilter.addChild(startFilter);
    }
    if (endFilter != null) {
        logicalTupleFilter.addChild(endFilter);
    }

    return logicalTupleFilter;
}

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 {/* w  ww .  j a va 2  s .c  om*/
            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();
    }
}