// Copyright 2002-2005, FreeHEP.
package org.freehep.aid;
import org.freehep.rtti.IClass;
import org.freehep.util.io.IndentPrintWriter;
/**
* @author Mark Donszelmann
* @version $Id: JavaClassGenerator.java 8584 2006-08-10 23:06:37Z duns $
*/
public class JavaClassGenerator extends AbstractJavaGenerator {
public JavaClassGenerator(String propDir) {
super(propDir);
properties.setProperty("java.class", "true");
}
public String filename(IClass clazz) {
return "Abstract" + clazz.getName() + ".java";
}
protected boolean isClass(IClass clazz) {
return true;
}
protected void printClassHeader(IndentPrintWriter out, IClass clazz) {
out.println();
out.print("public abstract class ");
out.print("Abstract" + clazz.getName());
// for templates
String[] templateParameters = clazz.getTemplateParameters();
if (templateParameters.length > 0) {
out.print("<");
out.print(templateParameters[0]);
for (int i=1; i<templateParameters.length; i++) {
out.print(", ");
out.print(templateParameters[i]);
}
out.print("> ");
}
out.println(" implements " + clazz.getName() + " {");
}
}