Repository: logging-log4j2
Updated Branches:
  refs/heads/master ea69c3c79 -> 8962adbc5


Add generic parameter to TypeConverters.convert()


Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/a890c78f
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/a890c78f
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/a890c78f

Branch: refs/heads/master
Commit: a890c78f6f739145651471e7f805605275de207e
Parents: ea69c3c
Author: Matt Sicker <[email protected]>
Authored: Fri Dec 30 15:34:26 2016 -0600
Committer: Matt Sicker <[email protected]>
Committed: Fri Dec 30 15:34:26 2016 -0600

----------------------------------------------------------------------
 .../log4j/core/config/plugins/convert/TypeConverters.java | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/a890c78f/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/convert/TypeConverters.java
----------------------------------------------------------------------
diff --git 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/convert/TypeConverters.java
 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/convert/TypeConverters.java
index 421d711..9c28edc 100644
--- 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/convert/TypeConverters.java
+++ 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/convert/TypeConverters.java
@@ -359,8 +359,9 @@ public final class TypeConverters {
      * @throws IllegalArgumentException
      *         if no TypeConverter exists for the given class
      */
-    public static Object convert(final String s, final Class<?> clazz, final 
Object defaultValue) {
-        final TypeConverter<?> converter = 
TypeConverterRegistry.getInstance().findCompatibleConverter(clazz);
+    public static <T> T convert(final String s, final Class<? extends T> 
clazz, final Object defaultValue) {
+        @SuppressWarnings("unchecked")
+        final TypeConverter<T> converter = (TypeConverter<T>) 
TypeConverterRegistry.getInstance().findCompatibleConverter(clazz);
         if (s == null) {
             // don't debug print here, resulting output is hard to understand
             // LOGGER.debug("Null string given to convert. Using default 
[{}].", defaultValue);
@@ -375,12 +376,13 @@ public final class TypeConverters {
         }
     }
 
-    private static Object parseDefaultValue(final TypeConverter<?> converter, 
final Object defaultValue) {
+    @SuppressWarnings("unchecked")
+    private static <T> T parseDefaultValue(final TypeConverter<T> converter, 
final Object defaultValue) {
         if (defaultValue == null) {
             return null;
         }
         if (!(defaultValue instanceof String)) {
-            return defaultValue;
+            return (T) defaultValue;
         }
         try {
             return converter.convert((String) defaultValue);

Reply via email to