List of usage examples for com.google.common.collect ContiguousSet create
public static <C extends Comparable> ContiguousSet<C> create(Range<C> range, DiscreteDomain<C> domain)
From source file:io.v.todos.persistence.syncbase.DigitMappings.java
/** * Constructs a {@link DigitMapping} from a {@link RangeSet}, ordering the ranges in ascending * order (regardless of input order). If out-of-order ranges are desired, use the * {@link #fromRanges(Iterable)} factory method instead to provide explicit ordering. *///from ww w .j av a2s . co m public static DigitMapping fromRangeSet(RangeSet<Character> spec) { return fromRanges( Collections2.transform(spec.asRanges(), new Function<Range<Character>, ContiguousSet<Character>>() { @Override public ContiguousSet<Character> apply(Range<Character> input) { return ContiguousSet.create(input, DOMAIN); } })); }
From source file:crud.http.util.FailedResponseOperator.java
/** * Treat all 500-range responses as errors. *//*from w ww .j a va2 s . c o m*/ public static FailedResponseOperator serverErrors() { if (serverErrors == null) { // Don't delegate to fromStatusCodes(): it does extraneous checking serverErrors = new FailedResponseOperator( ContiguousSet.create(Range.closed(MIN_SERVER_ERROR_STATUS_CODE, MAX_SERVER_ERROR_STATUS_CODE), DiscreteDomain.integers())); } return serverErrors; }
From source file:com.google.cloud.genomics.dataflow.utils.PairGenerator.java
/** * * Generates all combinations (not permutations) of pairs of the elements in the iterable. * * The pairs are often used as keys for results in many n^2 analyses where we end up with * (n*(n-1))/2 or ((n*(n-1))/2)+n results. * * @param list/*from w ww . ja v a 2 s. c om*/ * @param comparator - used to enforce an order upon the elements within each pair * @return the pairs */ public <X, L extends List<? extends X> & RandomAccess> FluentIterable<KV<X, X>> allPairs(final L list, final Comparator<? super X> comparator) { return FluentIterable .from(ContiguousSet.create(Range.closedOpen(0, list.size()), DiscreteDomain.integers())) .transformAndConcat(new Function<Integer, Iterable<KV<X, X>>>() { @Override public Iterable<KV<X, X>> apply(final Integer i) { return new Iterable<KV<X, X>>() { @Override public Iterator<KV<X, X>> iterator() { int iteratorIndex = i; if (!withReplacement) { iteratorIndex++; } return Iterators.transform(list.listIterator(iteratorIndex), new Function<X, KV<X, X>>() { private final X key = list.get(i); @Override public KV<X, X> apply(X value) { boolean swap = 0 < comparator.compare(key, value); return KV.of(swap ? value : key, swap ? key : value); } }); } }; } }); }
From source file:com.nitayjoffe.util.ranges.Range2D.java
private Range2D(Range<Integer> range1, Range<Integer> range2) { set1 = ContiguousSet.create(range1, integers()); set2 = ContiguousSet.create(range2, integers()); }
From source file:com.google.errorprone.refaster.UClassDecl.java
private static Function<UnifierWithRemainingMembers, Choice<UnifierWithRemainingMembers>> match( final Tree tree) { return new Function<UnifierWithRemainingMembers, Choice<UnifierWithRemainingMembers>>() { @Override/* w w w.j av a 2 s .c o m*/ public Choice<UnifierWithRemainingMembers> apply(final UnifierWithRemainingMembers state) { final ImmutableList<UMethodDecl> currentMembers = state.remainingMembers(); Choice<Integer> methodChoice = Choice.from(ContiguousSet .create(Range.closedOpen(0, currentMembers.size()), DiscreteDomain.integers())); return methodChoice.thenChoose(new Function<Integer, Choice<UnifierWithRemainingMembers>>() { @Override public Choice<UnifierWithRemainingMembers> apply(Integer i) { ImmutableList<UMethodDecl> remainingMembers = new ImmutableList.Builder<UMethodDecl>() .addAll(currentMembers.subList(0, i)) .addAll(currentMembers.subList(i + 1, currentMembers.size())).build(); UMethodDecl chosenMethod = currentMembers.get(i); Unifier unifier = state.unifier().fork(); /* * If multiple methods use the same parameter name, preserve the last parameter * name from the target code. For example, given a @BeforeTemplate with * * int get(int index) {...} * int set(int index, int value) {...} * * and target code with the lines * * int get(int i) {...} * int set(int j) {...} * * then use "j" in place of index in the @AfterTemplates. */ for (UVariableDecl param : chosenMethod.getParameters()) { unifier.clearBinding(param.key()); } return chosenMethod.unify(tree, unifier) .transform(UnifierWithRemainingMembers.withRemaining(remainingMembers)); } }); } }; }
From source file:edu.mit.streamjit.test.Datasets.java
public static Dataset allIntsInRange(Range<Integer> range) { return fromIterable(range.toString(), ContiguousSet.create(range, DiscreteDomain.integers())); }
From source file:crud.http.util.FailedResponseOperator.java
/** * Treat all non-200-range responses as errors. *///from ww w . java2 s . c om public static FailedResponseOperator nonSuccessResponses() { if (nonSuccessResponses == null) { final ImmutableSet<Integer> prefix = ContiguousSet .create(Range.closedOpen(MIN_STATUS_CODE, MIN_SUCCESS_STATUS_CODE), DiscreteDomain.integers()); final ImmutableSet<Integer> suffix = ContiguousSet .create(Range.openClosed(MAX_SUCCESS_STATUS_CODE, MAX_STATUS_CODE), DiscreteDomain.integers()); final ImmutableSet<Integer> all = ImmutableSet.<Integer>builder().addAll(prefix).addAll(suffix).build(); // Don't delegate to fromStatusCodes(): it does extraneous checking nonSuccessResponses = new FailedResponseOperator(all); } return nonSuccessResponses; }
From source file:cz.cuni.mff.ms.brodecva.botnicek.ide.compile.library.Randomize.java
private static List<List<TemplateElement>> createChoices(final int starsCount) { final ImmutableList.Builder<List<TemplateElement>> builder = ImmutableList.builder(); final String space = AIML.WORD_DELIMITER.getValue(); final String randomStart = RANDOM_START; final String randomEnd = RANDOM_END; final ImmutableSortedSet<Integer> set = ContiguousSet.create(Range.closed(1, starsCount), DiscreteDomain.integers());// w w w .j a v a2 s.c om for (int picked = 1; picked <= starsCount; picked++) { final Star pickedStar = Star.create(new AIMLIndex(picked)); final SetView<Integer> rest = Sets.difference(set, ImmutableSet.of(picked)); // @formatter:off // <li><star index="3"/> <srai>RANDOMSTART <srai>REMOVESTART <star index="3"/> <star index="1"/> <star index="2"/> <star index="4"/> REMOVEEND</srai> RANDOMEND</srai><li> builder.add(ImmutableList.<TemplateElement>of(pickedStar, Text.create(space), Srai.create(Text.create(randomStart + space), Srai.create(removeCopies(pickedStar, rest)), Text.create(space + randomEnd)))); // @formatter:on } return builder.build(); }
From source file:google.registry.model.ofy.CommitLogBucket.java
/** Returns a sorted set of all the possible numeric bucket IDs. */ public static ImmutableSortedSet<Integer> getBucketIds() { return ContiguousSet.create(getBucketIdRange(), integers()); }
From source file:org.apache.calcite.chinook.PreferredGenresTableFactory.java
private Queryable<Integer> fetchPreferredGenres() { if (EnvironmentFairy.getUser() == EnvironmentFairy.User.SPECIFIC_USER) { return Linq4j.asEnumerable(SPECIFIC_USER_PREFERRED_GENRES).asQueryable(); } else {/*from w ww. j a v a 2 s. c o m*/ final ContiguousSet<Integer> set = ContiguousSet.create(Range.closed(FIRST_ID, LAST_ID), DiscreteDomain.integers()); return Linq4j.asEnumerable(set).asQueryable(); } }