protected void generateOneClass(final DomainClass domClass) {
final String packageName = domClass.getPackageName();
writeToFile(new File(getBaseDirectoryFor(packageName), domClass.getBaseName() + ".java"), new WriteProcedure() {
@Override
public void doIt(PrintWriter out) {
generateFilePreamble(packageName, out);
generateBaseClass(domClass, out);
}
});
if (compArgs.isExternalDefinition(domClass.getSourceFile())) {
return;
}
File leafClassFile = new File(getDirectoryFor(packageName), domClass.getName() + ".java");
if (!leafClassFile.exists()) {
writeToFile(leafClassFile, new WriteProcedure() {
@Override
public void doIt(PrintWriter out) {
generatePublicFilePreamble(packageName, out);
generatePublicClass(domClass, out);
}
});
}
}