protected void ormBeginBaseClass(DomainClass domClass) { this.ormSlots = new ArrayList<String>(); this.ormSlotsForRelationToOne = new ArrayList<String>(); this.ormRoleManyToOne = new ArrayList<Role>(); this.ormRoleOneToMany = new ArrayList<Role>(); // this.ormRoleOneToOne = new ArrayList<Role>(); this.ormRoleManyToMany = new ArrayList<Role>(); this.ormTransientSlots = new ArrayList<String>(); StringBuilder buf = new StringBuilder(); buf.append(" <mapped-superclass class=\""); buf.append(domClass.getPackageName()); buf.append("."); buf.append(domClass.getBaseName()); buf.append("\" metadata-complete=\"false\">\n"); buf.append(" <attributes>\n"); this.ormWriter.print(buf.toString()); }
protected void generateDefaultConstructor(DomainClass domClass, PrintWriter out) { printConstructor(out, "public", domClass.getBaseName()); startMethodBody(out); generateBaseClassConstructorsBody(domClass, out); endMethodBody(out); }
protected void generateDefaultConstructor(DomainClass domClass, PrintWriter out) { printConstructor(out, "public", domClass.getBaseName()); startMethodBody(out); generateBaseClassConstructorsBody(domClass, out); endMethodBody(out); }
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); } }); // don't generate non-base classes for an external definition. 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); } }); } }
protected void generatePublicClass(DomainClass domClass, PrintWriter out) { String leafClassName = domClass.getName(); // This should be the other way around, but that would cause API disruption String modifier = domClass.hasModifier(Modifier.PROTECTED) ? "" : "public"; printWords(out, modifier, "class", leafClassName, "extends", domClass.getBaseName()); newBlock(out); generatePublicClassConstructors(leafClassName, out); closeBlock(out); }
protected void generateBaseClass(DomainClass domClass, PrintWriter out) { newline(out); println(out, "@SuppressWarnings(\"all\")"); // This should be the other way around, but that would cause API disruption 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); }
protected void generateBaseClassBody(DomainClass domClass, PrintWriter out) { comment(out, "Static Slots"); generateStaticSlots(domClass, out); newline(out); if (!isDefaultCodeGenerator()) { comment(out, "Slots"); generateSlots(domClass.getSlots(), out); newline(out); comment(out, "Role Slots"); generateRoleSlots(domClass.getRoleSlots(), out); newline(out); comment(out, "Init Instance"); generateInitInstance(domClass, out); newline(out); } comment(out, "Constructors"); printMethod(out, "protected", "", domClass.getBaseName()); startMethodBody(out); generateBaseClassConstructorsBody(domClass, out); endMethodBody(out); newline(out); comment(out, "Getters and Setters"); generateSlotsAccessors(domClass, out); newline(out); comment(out, "Role Methods"); generateRoleSlotsMethods(domClass.getRoleSlots(), out); newline(out); // comment(out, "Slot Consistency Predicates"); // generateSlotConsistencyPredicates(domClass, out); }