You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by mb...@apache.org on 2013/09/24 00:42:03 UTC

svn commit: r1525722 - in /commons/proper/lang/trunk/src: main/java/org/apache/commons/lang3/reflect/TypeUtils.java test/java/org/apache/commons/lang3/reflect/TypeUtilsTest.java

Author: mbenson
Date: Mon Sep 23 22:42:03 2013
New Revision: 1525722

URL: http://svn.apache.org/r1525722
Log:
provide simple method to wrap a given type to the Typed interface

Modified:
    commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/reflect/TypeUtils.java
    commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/reflect/TypeUtilsTest.java

Modified: commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/reflect/TypeUtils.java
URL: http://svn.apache.org/viewvc/commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/reflect/TypeUtils.java?rev=1525722&r1=1525721&r2=1525722&view=diff
==============================================================================
--- commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/reflect/TypeUtils.java (original)
+++ commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/reflect/TypeUtils.java Mon Sep 23 22:42:03 2013
@@ -1540,6 +1540,22 @@ public class TypeUtils {
         return buf.append(':').append(typeVariableToString(var)).toString();
     }
 
+    /**
+     * Wrap the specified {@link Type} in a {@link Typed} wrapper.
+     *
+     * @param T inferred generic type
+     * @param type to wrap
+     * @return Typed<T>
+     */
+    public static <T> Typed<T> wrap(final Type type) {
+        return new Typed<T>() {
+            @Override
+            public Type getType() {
+                return type;
+            }
+        };
+    }
+
     private static String classToString(Class<?> c) {
         final StringBuilder buf = new StringBuilder();
 

Modified: commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/reflect/TypeUtilsTest.java
URL: http://svn.apache.org/viewvc/commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/reflect/TypeUtilsTest.java?rev=1525722&r1=1525721&r2=1525722&view=diff
==============================================================================
--- commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/reflect/TypeUtilsTest.java (original)
+++ commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/reflect/TypeUtilsTest.java Mon Sep 23 22:42:03 2013
@@ -716,6 +716,12 @@ public class TypeUtilsTest<B> {
         Assert.assertEquals(getClass().getName() + ":B", TypeUtils.toLongString(getClass().getTypeParameters()[0]));
     }
 
+    @Test
+    public void testWrap() {
+        final Type t = getClass().getTypeParameters()[0];
+        Assert.assertTrue(TypeUtils.equals(t, TypeUtils.wrap(t).getType()));
+    }
+
     public Iterable<? extends Map<Integer, ? extends Collection<?>>> iterable;
 
     public static <G extends Comparable<G>> G stub() {