mirror of
https://github.com/VibedByKaKi/alexandroid.git
synced 2026-11-14 18:07:16 +01:00
147 lines
4.7 KiB
Java
147 lines
4.7 KiB
Java
package com.amazonaws.util;
|
|
|
|
import java.util.Collection;
|
|
import java.util.Collections;
|
|
import java.util.HashMap;
|
|
import java.util.Map;
|
|
import java.util.Set;
|
|
import rx.Single$$ExternalSyntheticBUOutline0;
|
|
|
|
/* compiled from: r8-map-id-b9432e0f623b4a4bff4ba50a8a24c4aafad2c1e11092747b9fb5e6a22af5a940 */
|
|
/* loaded from: classes6.dex */
|
|
public final class ImmutableMapParameter<K, V> implements Map<K, V> {
|
|
private static final String DUPLICATED_KEY_MESSAGE = "Duplicate keys are provided.";
|
|
private static final String UNMODIFIABLE_MESSAGE = "This is an immutable map.";
|
|
private final Map<K, V> map;
|
|
|
|
/* compiled from: r8-map-id-b9432e0f623b4a4bff4ba50a8a24c4aafad2c1e11092747b9fb5e6a22af5a940 */
|
|
public static class Builder<K, V> {
|
|
private final Map<K, V> entries = new HashMap();
|
|
|
|
public ImmutableMapParameter<K, V> build() {
|
|
HashMap hashMap = new HashMap();
|
|
hashMap.putAll(this.entries);
|
|
return new ImmutableMapParameter<>(hashMap);
|
|
}
|
|
|
|
public Builder<K, V> put(K k, V v) {
|
|
ImmutableMapParameter.putAndWarnDuplicateKeys(this.entries, k, v);
|
|
return this;
|
|
}
|
|
}
|
|
|
|
private ImmutableMapParameter(Map<K, V> map) {
|
|
this.map = map;
|
|
}
|
|
|
|
public static <K, V> Builder<K, V> builder() {
|
|
return new Builder<>();
|
|
}
|
|
|
|
public static <K, V> ImmutableMapParameter<K, V> of(K k, V v, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5) {
|
|
HashMap hashMap = new HashMap();
|
|
putAndWarnDuplicateKeys(hashMap, k, v);
|
|
putAndWarnDuplicateKeys(hashMap, k2, v2);
|
|
putAndWarnDuplicateKeys(hashMap, k3, v3);
|
|
putAndWarnDuplicateKeys(hashMap, k4, v4);
|
|
putAndWarnDuplicateKeys(hashMap, k5, v5);
|
|
return new ImmutableMapParameter<>(hashMap);
|
|
}
|
|
|
|
/* JADX INFO: Access modifiers changed from: private */
|
|
public static <K, V> void putAndWarnDuplicateKeys(Map<K, V> map, K k, V v) {
|
|
if (map.containsKey(k)) {
|
|
Single$$ExternalSyntheticBUOutline0.m$3(DUPLICATED_KEY_MESSAGE);
|
|
} else {
|
|
map.put(k, v);
|
|
}
|
|
}
|
|
|
|
@Override // java.util.Map
|
|
public void clear() {
|
|
throw new UnsupportedOperationException(UNMODIFIABLE_MESSAGE);
|
|
}
|
|
|
|
@Override // java.util.Map
|
|
public boolean containsKey(Object obj) {
|
|
return this.map.containsKey(obj);
|
|
}
|
|
|
|
@Override // java.util.Map
|
|
public boolean containsValue(Object obj) {
|
|
return this.map.containsValue(obj);
|
|
}
|
|
|
|
@Override // java.util.Map
|
|
public Set<Map.Entry<K, V>> entrySet() {
|
|
return this.map.entrySet();
|
|
}
|
|
|
|
@Override // java.util.Map
|
|
public V get(Object obj) {
|
|
return this.map.get(obj);
|
|
}
|
|
|
|
@Override // java.util.Map
|
|
public boolean isEmpty() {
|
|
return this.map.isEmpty();
|
|
}
|
|
|
|
@Override // java.util.Map
|
|
public Set<K> keySet() {
|
|
return this.map.keySet();
|
|
}
|
|
|
|
@Override // java.util.Map
|
|
public V put(K k, V v) {
|
|
throw new UnsupportedOperationException(UNMODIFIABLE_MESSAGE);
|
|
}
|
|
|
|
@Override // java.util.Map
|
|
public void putAll(Map<? extends K, ? extends V> map) {
|
|
throw new UnsupportedOperationException(UNMODIFIABLE_MESSAGE);
|
|
}
|
|
|
|
@Override // java.util.Map
|
|
public V remove(Object obj) {
|
|
throw new UnsupportedOperationException(UNMODIFIABLE_MESSAGE);
|
|
}
|
|
|
|
@Override // java.util.Map
|
|
public int size() {
|
|
return this.map.size();
|
|
}
|
|
|
|
@Override // java.util.Map
|
|
public Collection<V> values() {
|
|
return this.map.values();
|
|
}
|
|
|
|
public static <K, V> ImmutableMapParameter<K, V> of(K k, V v, K k2, V v2) {
|
|
HashMap hashMap = new HashMap();
|
|
putAndWarnDuplicateKeys(hashMap, k, v);
|
|
putAndWarnDuplicateKeys(hashMap, k2, v2);
|
|
return new ImmutableMapParameter<>(hashMap);
|
|
}
|
|
|
|
public static <K, V> ImmutableMapParameter<K, V> of(K k, V v, K k2, V v2, K k3, V v3) {
|
|
HashMap hashMap = new HashMap();
|
|
putAndWarnDuplicateKeys(hashMap, k, v);
|
|
putAndWarnDuplicateKeys(hashMap, k2, v2);
|
|
putAndWarnDuplicateKeys(hashMap, k3, v3);
|
|
return new ImmutableMapParameter<>(hashMap);
|
|
}
|
|
|
|
public static <K, V> ImmutableMapParameter<K, V> of(K k, V v, K k2, V v2, K k3, V v3, K k4, V v4) {
|
|
HashMap hashMap = new HashMap();
|
|
putAndWarnDuplicateKeys(hashMap, k, v);
|
|
putAndWarnDuplicateKeys(hashMap, k2, v2);
|
|
putAndWarnDuplicateKeys(hashMap, k3, v3);
|
|
putAndWarnDuplicateKeys(hashMap, k4, v4);
|
|
return new ImmutableMapParameter<>(hashMap);
|
|
}
|
|
|
|
public static <K, V> ImmutableMapParameter<K, V> of(K k, V v) {
|
|
return new ImmutableMapParameter<>(Collections.singletonMap(k, v));
|
|
}
|
|
}
|