jimu-decompiled/sources/com/google/common/collect/EnumBiMap.java
2025-05-13 19:24:51 +02:00

125 lines
4.5 KiB
Java

package com.google.common.collect;
import com.google.common.base.Preconditions;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.lang.Enum;
import java.util.EnumMap;
import java.util.Map;
import java.util.Set;
/* loaded from: classes.dex */
public final class EnumBiMap<K extends Enum<K>, V extends Enum<V>> extends AbstractBiMap<K, V> {
private static final long serialVersionUID = 0;
private transient Class<K> keyType;
private transient Class<V> valueType;
private EnumBiMap(Class<K> cls, Class<V> cls2) {
super(WellBehavedMap.a(new EnumMap(cls)), WellBehavedMap.a(new EnumMap(cls2)));
this.keyType = cls;
this.valueType = cls2;
}
public static <K extends Enum<K>, V extends Enum<V>> EnumBiMap<K, V> create(Class<K> cls, Class<V> cls2) {
return new EnumBiMap<>(cls, cls2);
}
static <K extends Enum<K>> Class<K> inferKeyType(Map<K, ?> map) {
if (map instanceof EnumBiMap) {
return ((EnumBiMap) map).keyType();
}
if (map instanceof EnumHashBiMap) {
return ((EnumHashBiMap) map).keyType();
}
Preconditions.a(!map.isEmpty());
return map.keySet().iterator().next().getDeclaringClass();
}
private static <V extends Enum<V>> Class<V> inferValueType(Map<?, V> map) {
if (map instanceof EnumBiMap) {
return ((EnumBiMap) map).valueType;
}
Preconditions.a(!map.isEmpty());
return map.values().iterator().next().getDeclaringClass();
}
private void readObject(ObjectInputStream objectInputStream) throws IOException, ClassNotFoundException {
objectInputStream.defaultReadObject();
this.keyType = (Class) objectInputStream.readObject();
this.valueType = (Class) objectInputStream.readObject();
setDelegates(WellBehavedMap.a(new EnumMap(this.keyType)), WellBehavedMap.a(new EnumMap(this.valueType)));
Serialization.a(this, objectInputStream);
}
private void writeObject(ObjectOutputStream objectOutputStream) throws IOException {
objectOutputStream.defaultWriteObject();
objectOutputStream.writeObject(this.keyType);
objectOutputStream.writeObject(this.valueType);
Serialization.a(this, objectOutputStream);
}
@Override // com.google.common.collect.AbstractBiMap, com.google.common.collect.ForwardingMap, java.util.Map
public /* bridge */ /* synthetic */ void clear() {
super.clear();
}
@Override // com.google.common.collect.AbstractBiMap, com.google.common.collect.ForwardingMap, java.util.Map
public /* bridge */ /* synthetic */ boolean containsValue(Object obj) {
return super.containsValue(obj);
}
@Override // com.google.common.collect.AbstractBiMap, com.google.common.collect.ForwardingMap, java.util.Map
public /* bridge */ /* synthetic */ Set entrySet() {
return super.entrySet();
}
@Override // com.google.common.collect.AbstractBiMap, com.google.common.collect.BiMap
public /* bridge */ /* synthetic */ BiMap inverse() {
return super.inverse();
}
@Override // com.google.common.collect.AbstractBiMap, com.google.common.collect.ForwardingMap, java.util.Map
public /* bridge */ /* synthetic */ Set keySet() {
return super.keySet();
}
public Class<K> keyType() {
return this.keyType;
}
@Override // com.google.common.collect.AbstractBiMap, com.google.common.collect.ForwardingMap, java.util.Map
public /* bridge */ /* synthetic */ void putAll(Map map) {
super.putAll(map);
}
public Class<V> valueType() {
return this.valueType;
}
@Override // com.google.common.collect.AbstractBiMap, com.google.common.collect.ForwardingMap, java.util.Map
public /* bridge */ /* synthetic */ Set values() {
return super.values();
}
public static <K extends Enum<K>, V extends Enum<V>> EnumBiMap<K, V> create(Map<K, V> map) {
EnumBiMap<K, V> create = create(inferKeyType(map), inferValueType(map));
create.putAll(map);
return create;
}
/* JADX INFO: Access modifiers changed from: package-private */
@Override // com.google.common.collect.AbstractBiMap
public K checkKey(K k) {
Preconditions.a(k);
return k;
}
/* JADX INFO: Access modifiers changed from: package-private */
@Override // com.google.common.collect.AbstractBiMap
public V checkValue(V v) {
Preconditions.a(v);
return v;
}
}