[infinispan-commits] Infinispan SVN: r1690 - trunk/core/src/main/java/org/infinispan/util.

infinispan-commits at lists.jboss.org infinispan-commits at lists.jboss.org
Thu Apr 15 07:02:52 EDT 2010


Author: galder.zamarreno at jboss.com
Date: 2010-04-15 07:02:52 -0400 (Thu, 15 Apr 2010)
New Revision: 1690

Modified:
   trunk/core/src/main/java/org/infinispan/util/Proxies.java
Log:
[ISPN-402] (Make Proxies.getInterfaces friendly with Scala classes) Done.

Modified: trunk/core/src/main/java/org/infinispan/util/Proxies.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/util/Proxies.java	2010-04-14 16:20:45 UTC (rev 1689)
+++ trunk/core/src/main/java/org/infinispan/util/Proxies.java	2010-04-15 11:02:52 UTC (rev 1690)
@@ -43,7 +43,18 @@
 
    private static Class[] getInterfaces(Class clazz) {
       Class[] interfaces = clazz.getInterfaces();
-      if (interfaces.length > 0) return interfaces;
+      if (interfaces.length > 0) {
+         Class superClass = clazz.getSuperclass();
+         if (superClass != null && superClass.getInterfaces().length > 0) {
+            Class[] superInterfaces = superClass.getInterfaces();
+            Class[] clazzes = new Class[interfaces.length + superInterfaces.length];
+            System.arraycopy(interfaces, 0, clazzes, 0, interfaces.length);
+            System.arraycopy(superInterfaces, 0, clazzes, interfaces.length, superInterfaces.length);
+            return clazzes;
+         } else {
+            return interfaces;
+         }
+      }
       Class superclass = clazz.getSuperclass();
       if (!superclass.equals(Object.class))
          return superclass.getInterfaces();



More information about the infinispan-commits mailing list