import java.io.File;
import java.io.PrintWriter;
public class ClassGen {
public static void main(String... args) {
int start = 1;
int end = 8024;
int fields = 4;
int methods = 6;
if (args.length > 0) {
start = Integer.parseInt(args[0]);
}
if (args.length > 1) {
end = Integer.parseInt(args[1]);
}
if (args.length > 2) {
fields = Integer.parseInt(args[2]);
}
if (args.length > 3) {
methods = Integer.parseInt(args[3]);
}
for (int file = start; file <= end; file++) {
try {
File f = new File("src/Clazz" + file + ".java");
PrintWriter pw = new PrintWriter(f);
pw.println("class Clazz" + file + " {");
for (int field = 1; field <= fields; field++) {
pw.println(" public static int f" + field + ";");
}
for (int method = 1; method <= methods; method++) {
pw.println(" boolean m" + method + "_" + (file%(end/2)) + "() {"
);
pw.println(" int max = Thread.MAX_PRIORITY;");
pw.println(" for (int i = 0; i < max; i++) {");
pw.println(" System.out.println(\"Hello from: \" + Clazz"
+ file + ".class + \".method" + method
+ "() \" + Clazz" + (end-file+1) + ".f1);");
pw.println(" Thread.dumpStack();");
pw.println(" }");
pw.println(" return Thread.holdsLock(this);");
pw.println(" }");
}
pw.println("}");
pw.close();
} catch(Exception ex) {
System.out.println("Ups");
}
}
}
}