1import java.io.File;
2import java.io.PrintWriter;
3
4public class ClassGen {
5
6    public static void main(String... args) {
7
8	int start = 1;
9        int end =   8024;
10	int fields =   4;
11        int methods =   6;
12	if (args.length > 0) {
13	    start = Integer.parseInt(args[0]);
14        }
15	if (args.length > 1) {
16	    end = Integer.parseInt(args[1]);
17        }
18	if (args.length > 2) {
19	    fields = Integer.parseInt(args[2]);
20        }
21	if (args.length > 3) {
22	    methods = Integer.parseInt(args[3]);
23        }
24
25	for (int file = start; file <= end; file++) {
26            try {
27	        File f = new File("src/Clazz" + file + ".java");
28	        PrintWriter pw = new PrintWriter(f);
29		pw.println("class Clazz" + file + " {");
30		for (int field = 1; field <= fields; field++) {
31		    pw.println("    public static int f" + field + ";");
32		}
33		for (int method = 1; method <= methods; method++) {
34		    pw.println("    boolean m" + method + "_" + (file%(end/2)) + "() {"
35);
36		    pw.println("      int max = Thread.MAX_PRIORITY;");
37		    pw.println("      for (int i = 0; i < max; i++) {");
38		    pw.println("        System.out.println(\"Hello from: \" + Clazz"
39                            + file + ".class + \".method" + method
40                            + "() \" + Clazz" + (end-file+1) + ".f1);");
41		    pw.println("        Thread.dumpStack();");
42		    pw.println("      }");
43		    pw.println("      return Thread.holdsLock(this);");
44		    pw.println("    }");
45		}
46		pw.println("}");
47                pw.close();
48            } catch(Exception ex) {
49		System.out.println("Ups");
50            }
51        }
52    }
53}
54