package com.thoughtworks.xstream.converters.enums; import com.thoughtworks.xstream.InitializationException; import com.thoughtworks.xstream.converters.ConversionException; import com.thoughtworks.xstream.converters.basic.AbstractSingleValueConverter; import java.lang.Enum; import java.util.EnumMap; import java.util.EnumSet; import java.util.HashMap; import java.util.Iterator; import java.util.Map; /* loaded from: classes.dex */ public class EnumToStringConverter> extends AbstractSingleValueConverter { private final Class enumType; private final Map strings; private final EnumMap values; public EnumToStringConverter(Class cls) { this(cls, extractStringMap(cls), null); } private static > EnumMap buildValueMap(Class cls, Map map) { EnumMap enumMap = new EnumMap<>(cls); for (Map.Entry entry : map.entrySet()) { enumMap.put((EnumMap) entry.getValue(), (T) entry.getKey()); } return enumMap; } private static void checkType(Class cls) { if (!Enum.class.isAssignableFrom(cls) && cls != Enum.class) { throw new InitializationException("Converter can only handle enum types"); } } private static > Map extractStringMap(Class cls) { checkType(cls); EnumSet allOf = EnumSet.allOf(cls); HashMap hashMap = new HashMap(allOf.size()); Iterator it = allOf.iterator(); while (it.hasNext()) { Enum r2 = (Enum) it.next(); if (hashMap.put(r2.toString(), r2) != null) { throw new InitializationException("Enum type " + cls.getName() + " does not have unique string representations for its values"); } } return hashMap; } @Override // com.thoughtworks.xstream.converters.basic.AbstractSingleValueConverter, com.thoughtworks.xstream.converters.ConverterMatcher public boolean canConvert(Class cls) { return cls != null && this.enumType.isAssignableFrom(cls); } @Override // com.thoughtworks.xstream.converters.basic.AbstractSingleValueConverter, com.thoughtworks.xstream.converters.SingleValueConverter public Object fromString(String str) { if (str == null) { return null; } T t = this.strings.get(str); if (t != null) { return t; } ConversionException conversionException = new ConversionException("Invalid string representation for enum type"); conversionException.add("enum-type", this.enumType.getName()); conversionException.add("enum-string", str); throw conversionException; } @Override // com.thoughtworks.xstream.converters.basic.AbstractSingleValueConverter, com.thoughtworks.xstream.converters.SingleValueConverter public String toString(Object obj) { Enum r2 = (Enum) Enum.class.cast(obj); EnumMap enumMap = this.values; return enumMap == null ? r2.toString() : enumMap.get(r2); } public EnumToStringConverter(Class cls, Map map) { this(cls, map, buildValueMap(cls, map)); } private EnumToStringConverter(Class cls, Map map, EnumMap enumMap) { this.enumType = cls; this.strings = map; this.values = enumMap; } }