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

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

Introduction

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

Prototype

public boolean hasLowerBound() 

Source Link

Document

Returns true if this range has a lower endpoint.

Usage

From source file:org.apache.provisionr.api.network.RuleBuilder.java

public RuleBuilder ports(Range<Integer> ports) {
    checkArgument(ports.hasUpperBound(), "ports should have a closed upper bound");
    checkArgument(ports.hasLowerBound(), "ports should have a closed lower bound ");

    checkArgument(ports.lowerEndpoint() > 0, "ports should be a positive range");
    checkArgument(ports.upperEndpoint() < Machine.MAX_PORT_NUMBER, "ports upper bound should less than 65535");

    this.ports = checkNotNull(ports, "ports is null");
    return this;
}

From source file:org.noroomattheinn.visibletesla.data.CycleStore.java

List<C> getCycles(Range<Long> period) {
    if (period == null)
        period = Range.all();/*  w  w  w  .  ja  va 2 s.  co  m*/
    long startTime = period.hasLowerBound() ? period.lowerEndpoint() : 0;
    long endTime = period.hasUpperBound() ? period.upperEndpoint() : Long.MAX_VALUE;

    List<C> cycles = new ArrayList<>();
    BufferedReader r = null;
    try {
        r = new BufferedReader(new FileReader(cycleFile));

        try {
            String entry;
            while ((entry = r.readLine()) != null) {
                C cycle = BaseCycle.fromJSON(entry, theClass);
                if (cycle.startTime >= startTime && cycle.startTime <= endTime) {
                    cycles.add(cycle);
                } else if (cycle.startTime > endTime) {
                    break;
                }
            }
        } catch (IOException ex) {
            logger.warning("Problem reading " + cycleType + " Cycle data: " + ex);
        }
    } catch (FileNotFoundException ex) {
        logger.warning("Could not open " + cycleType + " file: " + ex);
    } finally {
        if (r != null) {
            try {
                r.close();
            } catch (IOException e) {
                logger.warning("Failed closing reader: " + e);
            }
        }
    }
    return cycles;
}

From source file:li.klass.fhem.activities.graph.YAxis.java

public YAxis(Context context, GPlotAxis axis, String label) {
    this.context = context;
    this.label = label;

    Range<Double> range = axis.getRange().or(Range.range(-1d, BoundType.OPEN, 1d, BoundType.OPEN));
    if (range.hasLowerBound()) {
        minimumY = range.lowerEndpoint();
    }/* w w w. j av a 2s .  co  m*/
    if (range.hasUpperBound()) {
        maximumY = range.upperEndpoint();
    }
}

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

/**
 * Validate a range prior to insertion//from  ww w. j  a  v  a 2  s.com
 * @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:org.pascani.dsl.dbmapper.databases.Influxdb.java

private Point handle(ChangeEvent e) {
    Point point = null;/*from   ww w. j  av a2s .  c  o  m*/
    TaggedValue<Serializable> taggedValue = TaggedValue.instanceFrom(e.value(), Serializable.class);
    if (taggedValue.value() instanceof Number || taggedValue.value() instanceof Boolean
            || taggedValue.value() instanceof String) {
        point = makeRequestString(e, taggedValue.value(), taggedValue.tags());
    } else if (taggedValue.value() instanceof Range<?>) {
        Range<?> range = (Range<?>) taggedValue.value();
        Class<?> clazz = range.hasLowerBound() ? range.lowerEndpoint().getClass()
                : range.upperEndpoint().getClass();
        if (Number.class.isAssignableFrom(clazz)) {
            point = makeRequestString(e, taggedValue.value(), taggedValue.tags());
        } else {
            System.out.println("Not supported type " + clazz.getCanonicalName());
        }
    } else {
        System.out.println("Not supported type " + taggedValue.value().getClass().getCanonicalName());
    }
    return point;
}

From source file:org.pascani.dsl.dbmapper.databases.ElasticSearch.java

private Map<String, String> handle(ChangeEvent e) {
    Map<String, String> data = null;
    TaggedValue<Serializable> taggedValue = TaggedValue.instanceFrom(e.value(), Serializable.class);
    if (taggedValue.value() instanceof Number || taggedValue.value() instanceof Boolean
            || taggedValue.value() instanceof String) {
        data = toData(e, taggedValue.value(), taggedValue.tags());
    } else if (taggedValue.value() instanceof Range<?>) {
        Range<?> range = (Range<?>) taggedValue.value();
        Class<?> clazz = range.hasLowerBound() ? range.lowerEndpoint().getClass()
                : range.upperEndpoint().getClass();
        if (Number.class.isAssignableFrom(clazz)) {
            data = toData(e, taggedValue.value(), taggedValue.tags());
        } else {//from  w  w w .ja  v  a  2 s. com
            System.out.println("Not supported type " + clazz.getCanonicalName());
        }
    } else {
        System.out.println("Not supported type " + taggedValue.value().getClass().getCanonicalName());
    }
    return data;
}

From source file:org.corpus_tools.peppermodules.annis.Audio2ANNISMapper.java

private void outputVirtualTokenAnnotations() {
    for (Map.Entry<Long, Range<Double>> e : virtTokenTimes.entrySet()) {
        Range<Double> r = e.getValue();
        String val = null;

        if (r.hasLowerBound() && r.hasUpperBound()) {
            val = r.lowerEndpoint() + "-" + r.upperEndpoint();
        } else if (r.hasLowerBound()) {
            val = "" + r.lowerEndpoint();
        } else if (r.hasUpperBound()) {
            val = "-" + r.upperEndpoint();
        }/*from  w  w  w . ja va2s  .  c o  m*/
        if (val != null) {
            mapSNodeAnnotation(e.getKey(), "annis", "time", val);
        }
    }
}

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. ja  v a2s  .  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: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('(');
            }/* w  w w.jav  a 2 s  .c o  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:org.obiba.opal.web.gwt.app.client.magma.derive.helper.DerivedNumericalVariableGenerator.java

private void appendBounds(Iterable<Range<N>> ranges) {
    scriptBuilder.append("[");

    boolean first = true;
    Range<N> previousRange = null;
    N bound = null;/*from   w  w w  .  j  ava  2  s  .  c  o m*/
    for (Range<N> range : ranges) {
        if (previousRange != null && !previousRange.isConnected(range)) {
            appendBound(previousRange.upperEndpoint(), first);
            first = false;
        }

        if (range.hasLowerBound()) {
            bound = range.lowerEndpoint();
            appendBound(bound, first);
            first = false;
        }

        previousRange = range;
    }
    // close the last range
    if (previousRange != null && previousRange.hasUpperBound()) {
        appendBound(previousRange.upperEndpoint(), false);
    }
    scriptBuilder.append("]");
}