From 5f14ccdc345f9f42152682438ee5c0ebd13e2ac2 Mon Sep 17 00:00:00 2001 From: Dan Mulloy Date: Wed, 27 Sep 2017 19:43:38 -0400 Subject: [PATCH] Add back EnumConverters#getGenericConverter(Class) It should work, but is deprecated and not recommended Addresses #394 --- .../protocol/wrappers/BukkitConverters.java | 14 ++++++++++++++ .../comphenix/protocol/wrappers/EnumWrappers.java | 14 +++++++++++++- 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/modules/API/src/main/java/com/comphenix/protocol/wrappers/BukkitConverters.java b/modules/API/src/main/java/com/comphenix/protocol/wrappers/BukkitConverters.java index acde6ae8..d7d43b5f 100644 --- a/modules/API/src/main/java/com/comphenix/protocol/wrappers/BukkitConverters.java +++ b/modules/API/src/main/java/com/comphenix/protocol/wrappers/BukkitConverters.java @@ -317,6 +317,20 @@ public class BukkitConverters { }); } + /** + * @deprecated While this solution is not as abhorrent as I had imagined, I still highly recommend switching to the + * new conversion API. + */ + @Deprecated + public static EquivalentConverter> getSetConverter(final Class genericType, + final EquivalentConverter itemConverter) { + if (itemConverter instanceof EnumWrappers.EnumConverter) { + ((EnumWrappers.EnumConverter) itemConverter).setGenericType(genericType); + } + + return getSetConverter(itemConverter); + } + /** * Retrieve an equivalent converter for a set of generic items. * @param Element type diff --git a/modules/API/src/main/java/com/comphenix/protocol/wrappers/EnumWrappers.java b/modules/API/src/main/java/com/comphenix/protocol/wrappers/EnumWrappers.java index 11284c95..59fa8238 100644 --- a/modules/API/src/main/java/com/comphenix/protocol/wrappers/EnumWrappers.java +++ b/modules/API/src/main/java/com/comphenix/protocol/wrappers/EnumWrappers.java @@ -652,6 +652,14 @@ public abstract class EnumWrappers { return new EnumConverter<>(genericClass, specificType); } + /** + * @deprecated Replaced with {@link #getGenericConverter(Class, Class)} + */ + @Deprecated + public static > EquivalentConverter getGenericConverter(Class specificType) { + return new EnumConverter<>(null, specificType); + } + // The common enum converter @SuppressWarnings({ "rawtypes", "unchecked" }) public static class EnumConverter> implements EquivalentConverter { @@ -675,7 +683,11 @@ public abstract class EnumWrappers { @Override public Class getSpecificType() { - return null; + return specificType; + } + + void setGenericType(Class genericType) { + this.genericType = genericType; } } }