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 checkForRepeatedSlots() { for (DomainClass domClass : classes.values()) { DomainEntity superDomClass = domClass.getSuperclass(); if (superDomClass != null) { for (Slot slot : domClass.getSlotsList()) { if (superDomClass.findSlot(slot.getName()) != null) { System.err.printf("WARNING: Slot named '%s' in class '%s' already exists in a superclass\n", slot.getName(), domClass.getName()); } if (superDomClass.findRoleSlot(slot.getName()) != null) { System.err.printf("WARNING: Slot named '%s' in class '%s' already exists in a superclass as role slot\n", slot.getName(), domClass.getName()); } } for (Role role : domClass.getRoleSlotsList()) { if (superDomClass.findSlot(role.getName()) != null) { System.err.printf( "WARNING: Role slot named '%s' in class '%s' already exists in a superclass as a slot\n", role.getName(), domClass.getName()); } if (superDomClass.findRoleSlot(role.getName()) != null) { System.err.printf( "WARNING: Role slot named '%s' in class '%s' already exists in a superclass as role slot\n", role.getName(), domClass.getName()); } } } } }
protected void generateRequiredConsistencyPredicate(DomainClass domClass, PrintWriter out) { newline(out); println(out, "@pt.ist.fenixframework.consistencyPredicates.ConsistencyPredicate"); printMethod(out, "private", "boolean", "checkRequiredSlots"); startMethodBody(out); for (Slot slot : domClass.getSlotsList()) { if (slot.hasOption(Slot.Option.REQUIRED)) { String slotName = slot.getName(); print(out, ConsistencyChecks.class.getName() + ".checkRequired(this, \""); print(out, slotName); print(out, "\", get"); print(out, capitalize(slotName)); println(out, "());"); } } print(out, "return true;"); endMethodBody(out); }
protected void generateDatabaseReader(DomainClass domClass, PrintWriter out) { newline(out); printMethod(out, "protected", "void", "readSlotsFromResultSet", makeArg("java.sql.ResultSet", "rs"), makeArg("int", "txNumber")); print(out, " throws java.sql.SQLException"); startMethodBody(out); if (domClass.hasSuperclass()) { println(out, "super.readSlotsFromResultSet(rs, txNumber);"); } for (Slot slot : domClass.getSlotsList()) { generateOneSlotRsReader(out, slot.getName(), slot.getSlotType()); } for (Role role : domClass.getRoleSlotsList()) { if (role.getName() != null && role.getMultiplicityUpper() == 1) { generateOneRoleSlotRsReader(out, role.getName()); } } endMethodBody(out); }
@Override protected void generateDatabaseReader(DomainClass domClass, PrintWriter out) { newline(out); printMethod(out, "protected", "void", "readStateFromResultSet", makeArg("java.sql.ResultSet", "rs"), makeArg(DO_STATE_SUPER, "state")); print(out, " throws java.sql.SQLException"); startMethodBody(out); if (domClass.hasSuperclass()) { println(out, "super.readStateFromResultSet(rs, state);"); } println(out, "DO_State castedState = (DO_State)state;"); for (Slot slot : domClass.getSlotsList()) { generateOneSlotRsReader(out, slot.getName(), slot.getSlotType()); } for (Role role : domClass.getRoleSlotsList()) { if (role.getName() != null && role.getMultiplicityUpper() == 1) { generateOneRoleSlotRsReader(out, role.getName()); } } endMethodBody(out); }
onNewline(out); for (Slot slot : domClass.getSlotsList()) { generateSlotDeclaration(out, slot.getTypeName(), slot.getName()); println(out, "super.copyTo(newState);"); println(out, "DO_State newCasted = (DO_State)newState;"); for (Slot slot : domClass.getSlotsList()) { printWords(out, "newCasted." + slot.getName(), "=", "this." + slot.getName()); println(out, ";");