@Override @SuppressWarnings({ "unchecked", "rawtypes" }) public <T> TypeAdapter<T> create(Gson gson, TypeToken<T> typeToken) { Class<?> rawType = typeToken.getRawType(); if (!Enum.class.isAssignableFrom(rawType) || rawType == Enum.class) return null; if (!rawType.isEnum()) rawType = rawType.getSuperclass(); try { return new EnumTypeAdapter(rawType); } catch (IllegalAccessException e) { throw new RuntimeException(e); } }
@Override @SuppressWarnings({ "unchecked", "rawtypes" }) public <T> TypeAdapter<T> create(Gson gson, TypeToken<T> typeToken) { Class<?> rawType = typeToken.getRawType(); if (!Enum.class.isAssignableFrom(rawType) || rawType == Enum.class) return null; if (!rawType.isEnum()) rawType = rawType.getSuperclass(); try { return new EnumTypeAdapter(rawType); } catch (IllegalAccessException e) { throw new RuntimeException(e); } }