@Override protected void generateRoleSlot(Role role, PrintWriter out) { // don't generate slots for roles anymore // but generate an accessor for collections instead if (role.getMultiplicityUpper() != 1) { generateRelationListGetter(role, out); } }
private static boolean is1toNRelation(DomainRelation domRelation) { int multiplicity1 = domRelation.getFirstRole().getMultiplicityUpper(); int multiplicity2 = domRelation.getSecondRole().getMultiplicityUpper(); return ((multiplicity1 == 1) && (multiplicity2 != 1)) || ((multiplicity1 != 1) && (multiplicity2 == 1)); }
public void addIndex(Role role) { if (role.getMultiplicityUpper() == 1 && role.getName() != null) { indexes.add(Collections.singleton(DbUtil.getFkName(role.getName()))); } }
protected void generateRoleSlotMethods(Role role, PrintWriter out) { if (role.getMultiplicityUpper() == 1) { generateRoleSlotMethodsMultOne(role, out); } else { generateRoleSlotMethodsMultStar(role, out); } // if (role.needsMultiplicityChecks()) { // generateMultiplicityConsistencyPredicate(role, out); // } }
@Override protected String getSlotExpression(String slotName) { Role role = currentClass.findRoleSlot(slotName); if (role != null && role.getMultiplicityUpper() != 1) { return makeRelationListGetterName(slotName) + "()"; } else { return "((DO_State)this.get$obj$state(false))." + slotName; } }
protected String decideRoleVBoxName(Role role) { return (role.getMultiplicityUpper() == 1 ? role.getName() : makeDomainBasedMapVBoxInternalName(role)); }
@Override protected String getRoleArgs(Role role) { String args = super.getRoleArgs(role); if (role.getName() != null && role.getMultiplicityUpper() == 1) { if (args.length() > 0) { args += ", "; } args += "\"" + role.getName() + "\""; } return args; }
protected boolean generateInitRoleSlot(Role role, boolean generateInitialTest, PrintWriter out) { if (role.getMultiplicityUpper() != 1) { if (generateInitialTest) { generateInitialTest = false; print(out, "if (!allocateOnly)"); newBlock(out); } generateInitRoleSlot(role, out); } return generateInitialTest; }
@Override protected void generateInitRoleSlot(Role role, PrintWriter out) { super.generateInitRoleSlot(role, out); if (role.getMultiplicityUpper() == 1) { generateSlotInitialization(role.getName(), out); } }
protected String getRoleBaseType(Role role) { return ((role.getName() == null) ? "pt.ist.fenixframework.dml.runtime.RoleEmpty" : ((role.getMultiplicityUpper() == 1) ? getRoleOneBaseType() : getRoleManyBaseType())); }
protected void generateStaticKeyFunctionForRole(Role role, PrintWriter out) { if (role.getMultiplicityUpper() != 1) { println(out, generateMapKeyFunction(role.getName(), role.getType().getFullName(), "Comparable<?>", "Oid", false)); } }
@Override protected void generateInitRoleSlot(Role role, PrintWriter out) { // create the default collection and initialize its foreign key slot if (role.getMultiplicityUpper() != 1) { onNewline(out); print(out, "this." + makeForeignKeyName(role.getName()) + " = new " + getDefaultCollectionFor(role) + "().getExternalId();"); } }
@Override protected void generateInitRoleSlot(Role role, PrintWriter out) { // smf: this method restores the behavior by default in CodeGenerator, undoing what JVSTMCodeGenerator does. If, as // expected, the generation of slot and roleSlots is all moved to the CodeGenerator, then this code may be deleted. if (role.getMultiplicityUpper() != 1) { onNewline(out); print(out, role.getName()); print(out, " = "); print(out, getNewRoleStarSlotExpression(role)); print(out, ";"); } }
protected void generateInitRoleSlot(Role role, PrintWriter out) { if (role.getMultiplicityUpper() != 1) { onNewline(out); print(out, role.getName()); print(out, " = "); print(out, getNewRoleStarSlotExpression(role)); print(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, ";"); }
@Override protected void generateInitRoleSlot(Role role, PrintWriter out) { onNewline(out); printWords(out, decideRoleVBoxName(role)); print(out, " = "); print(out, getNewRoleExpression(role)); print(out, ";"); if (role.getMultiplicityUpper() == 1) { generateInitRoleSlotMulOne(role, out); } else { generateInitRoleSlotMulStar(role, out); } }
@Override protected void generateRoleSlot(Role role, PrintWriter out) { onNewline(out); if (role.getMultiplicityUpper() == 1) { printWords(out, "private", getBoxType(role), role.getName()); } else { printWords(out, "private", makeGenericType(getBoxBaseType(), getDefaultCollectionFor(role)), makeDomainBasedMapVBoxInternalName(role) + ";"); onNewline(out); printWords(out, "private", getRelationAwareTypeFor(role), role.getName()); } println(out, ";"); }
@Override protected void generateRoleSlot(Role role, PrintWriter out) { onNewline(out); if (role.getMultiplicityUpper() == 1) { PrimitiveToWrapperEntry w = findWrapperEntry(getTypeFullName(role.getType())); String defaultValue = w != null ? w.defaultPrimitiveValue : "null"; String t = makeGenericType("VBox", getReferenceType(getTypeFullName(role.getType()))); printWords(out, "private", t, role.getName(), "= new", t, "(" + defaultValue + ")"); } else { printWords(out, "private", getDefaultCollectionFor(role), role.getName()); } println(out, ";"); }
@Override protected void generateRoleSlot(Role role, PrintWriter out) { ormAddRole(role); onNewline(out); if (role.getMultiplicityUpper() == 1) { printWords(out, "private", PRIMARY_KEY_TYPE, makeForeignKeyName(role.getName()) + ";"); newline(out); printWords(out, "private", "transient", getTypeFullName(role.getType()), role.getName()); } else { // USING B+TREE to MAP COLLECTIONS - slot is not really needed., only need B+Tree FK printWords(out, "private", PRIMARY_KEY_TYPE, makeForeignKeyName(role.getName())); } println(out, ";"); }
protected void generateRoleMethodRemove(Role role, Role otherRole, PrintWriter out) { boolean multOne = (role.getMultiplicityUpper() == 1); String otherRoleTypeFullName = getTypeFullName(otherRole.getType()); String roleTypeFullName = getTypeFullName(role.getType()); printMethod(out, "public", "boolean", "remove", makeArg(otherRoleTypeFullName, "o1"), makeArg(roleTypeFullName, "o2")); startMethodBody(out); print(out, "if (o1 != null)"); newBlock(out); print(out, "o1.set" + capitalize(role.getName()) + "$unidirectional(null);"); closeBlock(out, false); newline(out); print(out, "return true;"); endMethodBody(out); }