My code:
JCodeModel cm = new JCodeModel();
cm._class(JMod.ABSTRACT, "TestClass", ClassType.CLASS);
cm.build(new File("."));
no matter what I write to mods
or ClassType
parameter, the outcome is always a public class
.
How can I create an abstract class?
Strange. It seems JCodeModel doesn't create abstract classes without a package. The following cases have a package declaration:
JCodeModel cm = new JCodeModel();
cm._class(JMod.PUBLIC | JMod.ABSTRACT, "test.TestClass", ClassType.CLASS);
cm.build(new File("."));
Generates:
package test;
public abstract class TestClass {
}
or
JCodeModel cm = new JCodeModel();
JPackage pkg = cm._package("");
pkg._class(JMod.ABSTRACT, "TestClass2", ClassType.CLASS);
cm.build(new File("."));
Generates:
public abstract class TestClass2 {
}