protected void generateBaseClass(DomainClass domClass, PrintWriter out) {
newline(out);
println(out, "@SuppressWarnings(\"all\")");
String modifier = domClass.hasModifier(Modifier.PROTECTED) ? "" : "public";
printWords(out, modifier, "abstract", "class", domClass.getBaseName(), "extends");
String superclassName = getEntityFullName(domClass.getSuperclass());
printWords(out, (superclassName == null) ? getDomainClassRoot() : superclassName);
final List interfacesNames = domClass.getInterfacesNames();
if (interfacesNames != null && !interfacesNames.isEmpty()) {
printWords(out, "implements");
for (final Object ifsn : interfacesNames) {
printWords(out, ifsn.toString());
}
}
newBlock(out);
generateBaseClassBody(domClass, out);
closeBlock(out);
}