List of usage examples for com.google.common.collect ImmutableRangeSet.Builder add
@Override public void add(Range<C> range)
From source file:io.v.todos.persistence.syncbase.DigitMappings.java
/** * @see #fromRangeSet(RangeSet)/* w w w . j ava 2 s . c om*/ */ @SafeVarargs public static DigitMapping fromRangeSet(Range<Character>... ranges) { ImmutableRangeSet.Builder<Character> builder = ImmutableRangeSet.builder(); for (Range<Character> range : ranges) { builder.add(range); } return fromRangeSet(builder.build()); }
From source file:org.apache.aurora.scheduler.base.Numbers.java
/** * Performs {@link #toRange(IRange)} for a collection of ranges, and convert the result to a set * of integers.// w ww. j a v a 2s. c om * * @param ranges Ranges to convert. * @return A set representing {@code ranges}. */ public static Set<Integer> rangesToInstanceIds(Iterable<IRange> ranges) { ImmutableRangeSet.Builder<Integer> instanceIds = ImmutableRangeSet.builder(); for (IRange range : ranges) { instanceIds.add(toRange(range)); } return instanceIds.build().asSet(DiscreteDomain.integers()); }
From source file:org.apache.aurora.scheduler.updater.Updates.java
/** * Creates a range set representing all instance IDs represented by a set of instance * configurations included in a job update. * * @param configs Job update components. * @return A range set representing the instance IDs mentioned in instance groupings. *//*from w w w . ja v a 2 s .co m*/ public static ImmutableRangeSet<Integer> getInstanceIds(Set<IInstanceTaskConfig> configs) { ImmutableRangeSet.Builder<Integer> builder = ImmutableRangeSet.builder(); for (IInstanceTaskConfig config : configs) { for (IRange range : config.getInstances()) { builder.add(Range.closed(range.getFirst(), range.getLast())); } } return builder.build(); }
From source file:com.google.googlejavaformat.java.CommandLineOptionsParser.java
/** * Parse multiple --lines flags, like {"1:12,14,20:36", "40:45,50"}. Multiple ranges can be given * with multiple --lines flags or separated by commas. A single line can be set by a single * number. Line numbers are {@code 1}-based, but are converted to the {@code 0}-based numbering * used internally by google-java-format. *///from w w w .j a v a 2 s .co m private static void parseRangeSet(ImmutableRangeSet.Builder<Integer> result, String ranges) { for (String range : COMMA_SPLITTER.split(ranges)) { result.add(parseRange(range)); } }
From source file:org.apache.cassandra.cql3.restrictions.TokenFilter.java
/** * Converts the specified list into a range set. * * @param buffers the token restriction values * @return the range set corresponding to the specified list *///from w w w . j a v a 2 s . co m private static RangeSet<Token> toRangeSet(List<ByteBuffer> buffers) { ImmutableRangeSet.Builder<Token> builder = ImmutableRangeSet.builder(); for (ByteBuffer buffer : buffers) builder.add(Range.singleton(deserializeToken(buffer))); return builder.build(); }
From source file:google.registry.tldconfig.idn.IdnTable.java
/** Creates an IDN table given the lines from text file. */ static IdnTable createFrom(String language, Iterable<String> data, Optional<LanguageValidator> languageValidator) { ImmutableRangeSet.Builder<Integer> rangeSet = new ImmutableRangeSet.Builder<>(); URI url = null;//from ww w. jav a 2 s.c om URI policy = null; for (String line : data) { // Remove leading and trailing whitespace. line = line.trim(); // Handle special comment lines. if (line.startsWith(URL_LINE_PREFIX)) { url = URI.create(line.substring(URL_LINE_PREFIX.length())); } else if (line.startsWith(POLICY_LINE_PREFIX)) { policy = URI.create(line.substring(POLICY_LINE_PREFIX.length())); } // Skip empty and comment lines. if (line.isEmpty() || line.startsWith("#")) { continue; } int codepoint = readCodepoint(line); rangeSet.add(Range.<Integer>singleton(codepoint)); } return new IdnTable(language, url, policy, rangeSet.build(), languageValidator); }
From source file:io.horizondb.model.core.predicates.InPredicate.java
/** * {@inheritDoc}// ww w. ja va 2 s. com */ @Override public RangeSet<Field> getTimestampRanges() { if (!isTimestamp()) { return TimestampField.ALL; } ImmutableRangeSet.Builder<Field> builder = ImmutableRangeSet.builder(); for (Field field : this.values) { builder.add(Range.closed(field, field)); } RangeSet<Field> rangeSet = builder.build(); if (this.notIn) { return rangeSet.complement(); } return rangeSet; }
From source file:org.pentaho.di.trans.steps.samplerows.SampleRows.java
public boolean processRow(StepMetaInterface smi, StepDataInterface sdi) throws KettleException { meta = (SampleRowsMeta) smi;//from w w w . j av a 2 s . co m data = (SampleRowsData) sdi; Object[] r = getRow(); // get row, set busy! if (r == null) { // no more input to be expected... setOutputDone(); return false; } if (first) { first = false; String realRange = environmentSubstitute(meta.getLinesRange()); data.addlineField = (!Utils.isEmpty(environmentSubstitute(meta.getLineNumberField()))); // get the RowMeta data.previousRowMeta = getInputRowMeta().clone(); data.NrPrevFields = data.previousRowMeta.size(); data.outputRowMeta = data.previousRowMeta; if (data.addlineField) { meta.getFields(data.outputRowMeta, getStepname(), null, null, this, repository, metaStore); } String[] rangePart = realRange.split(","); ImmutableRangeSet.Builder<Integer> setBuilder = ImmutableRangeSet.builder(); for (String part : rangePart) { if (part.matches("\\d+")) { if (log.isDebug()) { logDebug(BaseMessages.getString(PKG, "SampleRows.Log.RangeValue", part)); } int vpart = Integer.valueOf(part); setBuilder.add(Range.singleton(vpart)); } else if (part.matches("\\d+\\.\\.\\d+")) { String[] rangeMultiPart = part.split("\\.\\."); Integer start = Integer.valueOf(rangeMultiPart[0]); Integer end = Integer.valueOf(rangeMultiPart[1]); Range<Integer> range = Range.closed(start, end); if (log.isDebug()) { logDebug(BaseMessages.getString(PKG, "SampleRows.Log.RangeValue", range)); } setBuilder.add(range); } } data.rangeSet = setBuilder.build(); } // end if first if (data.addlineField) { data.outputRow = RowDataUtil.allocateRowData(data.outputRowMeta.size()); for (int i = 0; i < data.NrPrevFields; i++) { data.outputRow[i] = r[i]; } } else { data.outputRow = r; } int linesRead = (int) getLinesRead(); if (data.rangeSet.contains(linesRead)) { if (data.addlineField) { data.outputRow[data.NrPrevFields] = getLinesRead(); } // copy row to possible alternate rowset(s). // putRow(data.outputRowMeta, data.outputRow); if (log.isRowLevel()) { logRowlevel(BaseMessages.getString(PKG, "SampleRows.Log.LineNumber", linesRead + " : " + getInputRowMeta().getString(r))); } } // Check if maximum value has been exceeded if (data.rangeSet.isEmpty() || linesRead >= data.rangeSet.span().upperEndpoint()) { setOutputDone(); } // Allowed to continue to read in data return true; }