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; 
  } 
} 
 
    
  
  |