From 8c9e3edce66420e10a70155eb4c6e444b8fa5d2f Mon Sep 17 00:00:00 2001 From: Jordan Blacker Date: Fri, 26 Oct 2018 15:55:25 -0400 Subject: [PATCH 1/4] Add ability to view currently registered type converters --- .../java/com/toddfast/util/convert/TypeConverter.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/main/java/com/toddfast/util/convert/TypeConverter.java b/src/main/java/com/toddfast/util/convert/TypeConverter.java index ce0abc3..b1bf720 100644 --- a/src/main/java/com/toddfast/util/convert/TypeConverter.java +++ b/src/main/java/com/toddfast/util/convert/TypeConverter.java @@ -177,6 +177,17 @@ private static Map> getTypeConversions() { return typeConversions; } + /** + * Return an immutable copy of the currently registered type conversion + * objects. The keys for the values in this map may be arbitrary objects, but + * the values are of type Conversion + * + * @return Copy of the registred type conversions + */ + public static Map> getRegisteredTypeConversions() { + return Collections.unmodifiableMap(new LinkedHashMap>(typeConversions)); + } + /** * Register a type conversion object under the specified key. This * method can be used by developers to register custom type conversion From 69183064089499cb63862f63c16fd55fe25ff430 Mon Sep 17 00:00:00 2001 From: Jordan Blacker Date: Fri, 26 Oct 2018 15:57:04 -0400 Subject: [PATCH 2/4] Relocate (un)registration methods to keep overloads together --- .../com/toddfast/util/convert/TypeConverter.java | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/toddfast/util/convert/TypeConverter.java b/src/main/java/com/toddfast/util/convert/TypeConverter.java index b1bf720..185b7a4 100644 --- a/src/main/java/com/toddfast/util/convert/TypeConverter.java +++ b/src/main/java/com/toddfast/util/convert/TypeConverter.java @@ -199,14 +199,6 @@ public static void registerTypeConversion(Object key, typeConversions.put(key,conversion); } - /** - * Unregister a type conversion object under the specified key - * - */ - public static void unregisterTypeConversion(Object key) { - typeConversions.remove(key); - } - /** * Register a type conversion object under the specified keys. This * method can be used by developers to register custom type conversion @@ -225,6 +217,14 @@ public static void registerTypeConversion(Conversion conversion) { } } + /** + * Unregister a type conversion object under the specified key + * + */ + public static void unregisterTypeConversion(Object key) { + typeConversions.remove(key); + } + /** * Unregister a type conversion object under all keys it specifies via * the {@link TypeConversion#getTypeKeys} method. Note, if this conversion From 8316915d7d188da4730b4ed25aa972266855f993 Mon Sep 17 00:00:00 2001 From: Jordan Blacker Date: Fri, 26 Oct 2018 15:58:06 -0400 Subject: [PATCH 3/4] Fix bug in unregister method (Conversion overload) where either a NPE is thrown, or conversions are not unregistered. --- src/main/java/com/toddfast/util/convert/TypeConverter.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/toddfast/util/convert/TypeConverter.java b/src/main/java/com/toddfast/util/convert/TypeConverter.java index 185b7a4..eca5e0f 100644 --- a/src/main/java/com/toddfast/util/convert/TypeConverter.java +++ b/src/main/java/com/toddfast/util/convert/TypeConverter.java @@ -235,7 +235,7 @@ public static void unregisterTypeConversion(Conversion conversion) { if (conversion!=null) { Object[] keys=conversion.getTypeKeys(); synchronized (typeConversions) { - if (keys==null) { + if (keys!=null) { for (int i=0; i Date: Fri, 26 Oct 2018 16:00:31 -0400 Subject: [PATCH 4/4] Update .gitignore for IntelliJ Users --- .gitignore | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index a6f89c2..4cc2326 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,3 @@ -/target/ \ No newline at end of file +/target/ +typeconverter.iml +.idea/