118 lines
3.8 KiB
Java
118 lines
3.8 KiB
Java
package com.google.common.collect;
|
|
|
|
import com.google.common.base.Supplier;
|
|
import java.io.Serializable;
|
|
import java.util.ArrayList;
|
|
import java.util.Collection;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
import java.util.Set;
|
|
|
|
/* loaded from: classes.dex */
|
|
public abstract class MultimapBuilder<K0, V0> {
|
|
|
|
/* renamed from: com.google.common.collect.MultimapBuilder$1, reason: invalid class name */
|
|
final class AnonymousClass1 extends MultimapBuilderWithKeys<Object> {
|
|
}
|
|
|
|
private static final class ArrayListSupplier<V> implements Supplier<List<V>>, Serializable {
|
|
private final int a;
|
|
|
|
ArrayListSupplier(int i) {
|
|
CollectPreconditions.a(i, "expectedValuesPerKey");
|
|
this.a = i;
|
|
}
|
|
|
|
@Override // com.google.common.base.Supplier
|
|
public List<V> get() {
|
|
return new ArrayList(this.a);
|
|
}
|
|
}
|
|
|
|
private static final class LinkedHashSetSupplier<V> implements Supplier<Set<V>>, Serializable {
|
|
private final int a;
|
|
|
|
LinkedHashSetSupplier(int i) {
|
|
CollectPreconditions.a(i, "expectedValuesPerKey");
|
|
this.a = i;
|
|
}
|
|
|
|
@Override // com.google.common.base.Supplier
|
|
public Set<V> get() {
|
|
return Sets.b(this.a);
|
|
}
|
|
}
|
|
|
|
public static abstract class ListMultimapBuilder<K0, V0> extends MultimapBuilder<K0, V0> {
|
|
ListMultimapBuilder() {
|
|
super(null);
|
|
}
|
|
|
|
public abstract <K extends K0, V extends V0> ListMultimap<K, V> b();
|
|
}
|
|
|
|
public static abstract class MultimapBuilderWithKeys<K0> {
|
|
MultimapBuilderWithKeys() {
|
|
}
|
|
|
|
public ListMultimapBuilder<K0, Object> a() {
|
|
return a(2);
|
|
}
|
|
|
|
public SetMultimapBuilder<K0, Object> b(final int i) {
|
|
CollectPreconditions.a(i, "expectedValuesPerKey");
|
|
return new SetMultimapBuilder<K0, Object>() { // from class: com.google.common.collect.MultimapBuilder.MultimapBuilderWithKeys.4
|
|
@Override // com.google.common.collect.MultimapBuilder.SetMultimapBuilder
|
|
public <K extends K0, V> SetMultimap<K, V> b() {
|
|
return Multimaps.b(MultimapBuilderWithKeys.this.b(), new LinkedHashSetSupplier(i));
|
|
}
|
|
};
|
|
}
|
|
|
|
abstract <K extends K0, V> Map<K, Collection<V>> b();
|
|
|
|
public SetMultimapBuilder<K0, Object> c() {
|
|
return b(2);
|
|
}
|
|
|
|
public ListMultimapBuilder<K0, Object> a(final int i) {
|
|
CollectPreconditions.a(i, "expectedValuesPerKey");
|
|
return new ListMultimapBuilder<K0, Object>() { // from class: com.google.common.collect.MultimapBuilder.MultimapBuilderWithKeys.1
|
|
@Override // com.google.common.collect.MultimapBuilder.ListMultimapBuilder
|
|
public <K extends K0, V> ListMultimap<K, V> b() {
|
|
return Multimaps.a(MultimapBuilderWithKeys.this.b(), new ArrayListSupplier(i));
|
|
}
|
|
};
|
|
}
|
|
}
|
|
|
|
public static abstract class SetMultimapBuilder<K0, V0> extends MultimapBuilder<K0, V0> {
|
|
SetMultimapBuilder() {
|
|
super(null);
|
|
}
|
|
|
|
public abstract <K extends K0, V extends V0> SetMultimap<K, V> b();
|
|
}
|
|
|
|
/* synthetic */ MultimapBuilder(AnonymousClass1 anonymousClass1) {
|
|
this();
|
|
}
|
|
|
|
public static MultimapBuilderWithKeys<Object> a() {
|
|
return a(8);
|
|
}
|
|
|
|
private MultimapBuilder() {
|
|
}
|
|
|
|
public static MultimapBuilderWithKeys<Object> a(final int i) {
|
|
CollectPreconditions.a(i, "expectedKeys");
|
|
return new MultimapBuilderWithKeys<Object>() { // from class: com.google.common.collect.MultimapBuilder.2
|
|
@Override // com.google.common.collect.MultimapBuilder.MultimapBuilderWithKeys
|
|
<K, V> Map<K, Collection<V>> b() {
|
|
return Maps.c(i);
|
|
}
|
|
};
|
|
}
|
|
}
|