Example usage for com.google.common.collect ImmutableTable.Builder putAll

List of usage examples for com.google.common.collect ImmutableTable.Builder putAll

Introduction

In this page you can find the example usage for com.google.common.collect ImmutableTable.Builder putAll.

Prototype

@Deprecated
@Override
public final void putAll(Table<? extends R, ? extends C, ? extends V> table) 

Source Link

Document

Guaranteed to throw an exception and leave the table unmodified.

Usage

From source file:edu.mit.streamjit.util.CollectionUtils.java

/**
 * Returns the union of the given tables with disjoint key sets.
 * @param <R> the row type of the returned table
 * @param <C> the column type of the returned table
 * @param <V> the value type of the returned table
 * @param first the first table/*  ww w.j a v a 2  s  .co m*/
 * @param more more tables
 * @return a table containing all the cells in the given tables
 */
@SafeVarargs
public static <R, C, V> ImmutableTable<R, C, V> union(Table<? extends R, ? extends C, ? extends V> first,
        Table<? extends R, ? extends C, ? extends V>... more) {
    ImmutableTable.Builder<R, C, V> builder = ImmutableTable.builder();
    builder.putAll(first);
    for (Table<? extends R, ? extends C, ? extends V> t : more)
        builder.putAll(t);
    return builder.build();
}

From source file:me.yanaga.guava.stream.MoreCollectors.java

public static <T, R, C, V> Collector<T, ?, ImmutableTable<R, C, V>> toImmutableTable(
        Function<? super T, ? extends R> rowMapper, Function<? super T, ? extends C> columnMapper,
        Function<? super T, ? extends V> valueMapper) {
    return Collector.of(ImmutableTable::builder, new BiConsumer<ImmutableTable.Builder<R, C, V>, T>() {
        @Override//from w ww  . j  av  a 2  s.  c om
        public void accept(ImmutableTable.Builder<R, C, V> rcvBuilder, T t) {
            rcvBuilder.put(rowMapper.apply(t), columnMapper.apply(t), valueMapper.apply(t));
        }
    }, new BinaryOperator<ImmutableTable.Builder<R, C, V>>() {
        @Override
        public ImmutableTable.Builder<R, C, V> apply(ImmutableTable.Builder<R, C, V> rcvBuilder,
                ImmutableTable.Builder<R, C, V> rcvBuilder2) {
            return rcvBuilder.putAll(rcvBuilder2.build());
        }
    }, new Function<ImmutableTable.Builder<R, C, V>, ImmutableTable<R, C, V>>() {
        @Override
        public ImmutableTable<R, C, V> apply(ImmutableTable.Builder<R, C, V> rcvBuilder) {
            return rcvBuilder.build();
        }
    }, UNORDERED, CONCURRENT);
}

From source file:me.yanaga.guava.stream.MoreCollectors.java

public static <T, R, C, V> Collector<T, ?, ImmutableTable<R, C, V>> toImmutableSortedTable(
        Function<? super T, ? extends R> rowMapper, Function<? super T, ? extends C> columnMapper,
        Function<? super T, ? extends V> valueMapper, Comparator<R> rowComparator,
        Comparator<C> columnComparator) {
    return Collector.of(new Supplier<ImmutableTable.Builder<R, C, V>>() {
        @Override//from w ww  .  j av a  2s. c o m
        public ImmutableTable.Builder<R, C, V> get() {
            return ImmutableTable.<R, C, V>builder().orderRowsBy(rowComparator)
                    .orderColumnsBy(columnComparator);
        }
    }, new BiConsumer<ImmutableTable.Builder<R, C, V>, T>() {
        @Override
        public void accept(ImmutableTable.Builder<R, C, V> rcvBuilder, T t) {
            rcvBuilder.put(rowMapper.apply(t), columnMapper.apply(t), valueMapper.apply(t));
        }
    }, new BinaryOperator<ImmutableTable.Builder<R, C, V>>() {
        @Override
        public ImmutableTable.Builder<R, C, V> apply(ImmutableTable.Builder<R, C, V> rcvBuilder,
                ImmutableTable.Builder<R, C, V> rcvBuilder2) {
            return rcvBuilder.putAll(rcvBuilder2.build());
        }
    }, new Function<ImmutableTable.Builder<R, C, V>, ImmutableTable<R, C, V>>() {
        @Override
        public ImmutableTable<R, C, V> apply(ImmutableTable.Builder<R, C, V> rcvBuilder) {
            return rcvBuilder.build();
        }
    }, CONCURRENT);
}