protected void generateSlotDeclaration(PrintWriter out, String type, String name) { printWords(out, "private", type, name); println(out, ";"); }
protected void generateCurrentBackEndIdClass(String className, PrintWriter out) { println(out, "@SuppressWarnings(\"all\")"); printWords(out, "public", "class", className, "extends", ABSTRACT_BACKEND_ID_CLASS); newBlock(out); generateBackEndIdClassBody(out); closeBlock(out); }
protected void generateStaticKeyFunctionForRole(Role role, PrintWriter out) { if (role.getMultiplicityUpper() != 1) { println(out, generateMapKeyFunction(role.getName(), role.getType().getFullName(), "Comparable<?>", "Oid", false)); } }
protected void generateInitInstanceMethod(DomainClass domClass, PrintWriter out) { newline(out); println(out, "@Override"); printMethod(out, "protected", "void", "init$Instance", makeArg("boolean", "allocateOnly")); startMethodBody(out); generateInitInstanceMethodBody(domClass, out); endMethodBody(out); }
protected void generateInitInstanceMethodBody(DomainClass domClass, PrintWriter out) { println(out, "super.init$Instance(allocateOnly);"); for (Slot slot : domClass.getSlotsList()) { generateInitSlot(slot, out); } onNewline(out); for (Role role : domClass.getRoleSlotsList()) { if (role.getName() != null) { generateInitRoleSlot(role, out); } } }
protected void generateRoleSlot(Role role, PrintWriter out) { onNewline(out); if (role.getMultiplicityUpper() == 1) { printWords(out, "private", getTypeFullName(role.getType()), role.getName()); } else { printWords(out, "private", getDefaultCollectionFor(role), role.getName()); } println(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); }
print(out, " collection = "); print(out, slotAccessExpression); println(out, ";"); print(out, getTypeFullName(role.getType())); println(out, " el1 = collection.get(index1);"); println(out, "collection.set(index1, collection.get(index2));"); print(out, "collection.set(index2, el1);"); endMethodBody(out);
protected void generateStaticRoleSlots(Role role, PrintWriter out) { onNewline(out); Role otherRole = role.getOtherRole(); // The Role slot String roleType = getRoleType(role); printWords(out, "public", "final", "static", roleType, getRoleHandlerName(role, false), "=", "new", roleType); print(out, "("); print(out, getRoleArgs(role)); print(out, ")"); newBlock(out); boolean multOne = (role.getMultiplicityUpper() == 1); if (multOne) { generateStaticRoleSlotsMultOne(role, otherRole, out); } else { generateStaticRoleSlotsMultStar(role, otherRole, out); } generateRoleMethodGetInverseRole(role, otherRole, out); closeBlock(out, false); println(out, ";"); }