1 17 18 package org.sape.carbon.core.util.reflection; 19 20 import java.util.ArrayList ; 21 import java.util.Arrays ; 22 import java.util.HashSet ; 23 import java.util.List ; 24 import java.util.Set ; 25 26 34 public class ClassUtil { 35 36 44 public static Class [] getSuperInterfaces(Class [] childInterfaces) { 45 46 List allInterfaces = new ArrayList (); 47 48 for (int i = 0; i < childInterfaces.length; i++) { 49 allInterfaces.add(childInterfaces[i]); 50 allInterfaces.addAll( 51 Arrays.asList( 52 getSuperInterfaces(childInterfaces[i].getInterfaces()))); 53 } 54 55 return (Class []) allInterfaces.toArray(new Class [allInterfaces.size()]); 56 } 57 58 64 public static Set getGeneralizations(Class classObject) { 65 Set generalizations = new HashSet (); 66 67 generalizations.add(classObject); 68 69 Class superClass = classObject.getSuperclass(); 70 if (superClass != null) { 71 generalizations.addAll(getGeneralizations(superClass)); 72 } 73 74 Class [] superInterfaces = classObject.getInterfaces(); 75 for (int i = 0; i < superInterfaces.length; i++) { 76 Class superInterface = superInterfaces[i]; 77 generalizations.addAll(getGeneralizations(superInterface)); 78 } 79 80 return generalizations; 81 } 82 83 } 84 | Popular Tags |