Mega Code Archive

 
Categories / Java by API / Java Lang Reflect
 

Constructor

import static java.lang.System.out; import java.lang.reflect.Constructor; import java.lang.reflect.Modifier; public class Main {   public static void main(String... args) throws Exception {     Class<?> c = Class.forName(args[0]);     Constructor[] allConstructors = c.getDeclaredConstructors();     for (Constructor ctor : allConstructors) {       int searchMod = modifierFromString(args[1]);       int mods = accessModifiers(ctor.getModifiers());       if (searchMod == mods) {         out.format("%s%n", ctor.toGenericString());         out.format("  [ synthetic=%-5b var_args=%-5b ]%n", ctor.isSynthetic(), ctor.isVarArgs());       }     }   }   private static int accessModifiers(int m) {     return m & (Modifier.PUBLIC | Modifier.PRIVATE | Modifier.PROTECTED);   }   private static int modifierFromString(String s) {     if ("public".equals(s))       return Modifier.PUBLIC;     else if ("protected".equals(s))       return Modifier.PROTECTED;     else if ("private".equals(s))       return Modifier.PRIVATE;     else if ("package-private".equals(s))       return 0;     else       return -1;   } }