protected String generateMapKeyFunction(String roleName, String valueType, String keyType, String keyField, boolean allowMultipleKeys) { String format = "private static pt.ist.fenixframework.dml.runtime.KeyFunction<%keyType%,%valueType%> keyFunction$$%roleName% = new pt.ist.fenixframework.dml.runtime.KeyFunction<%keyType%,%valueType%>() { public %keyType% getKey(%valueType% value) { return value.get%keyField%(); } public boolean allowMultipleKeys() {return %multKeys%; }};"; return format.replaceAll("%roleName%", roleName).replaceAll("%valueType%", valueType) .replaceAll("%keyType%", getReferenceType(keyType)).replaceAll("%keyField%", capitalize(keyField)) .replaceAll("%multKeys%", allowMultipleKeys ? "true" : "false"); }
protected void generateSlotGetter(String modifier, String slotName, String typeName, PrintWriter out) { generateGetter(modifier, "get" + capitalize(slotName), slotName, typeName, out); }
protected void generateRoleSlotMethodsMultOneGetter(String modifier, String slotName, String typeName, PrintWriter out) { generateGetter(modifier, "get" + capitalize(slotName), slotName, typeName, out); }
protected String getRemoverMethodName(Role role) { return "remove" + capitalize(role.getName()); }
protected String getAdderMethodName(Role role) { return "add" + capitalize(role.getName()); }
protected void generateRoleSlotMethodsMultStarGetters(Role role, PrintWriter out) { generateRelationGetter("get" + capitalize(role.getName()) + "Set", role, out); }
protected void generateSlotSetter(Slot slot, PrintWriter out) { generateSetter(chooseVisibilityModifier(slot), "set" + capitalize(slot.getName()), slot, out); }
protected void generateRoleSlotMethodsMultOneSetter(Role role, PrintWriter out) { String typeName = getTypeFullName(role.getType()); String slotName = role.getName(); String capitalizedSlotName = capitalize(slotName); String setterName = "set" + capitalizedSlotName; String methodModifiers = getMethodModifiers(role); newline(out); printMethod(out, methodModifiers, "void", setterName, makeArg(typeName, slotName)); startMethodBody(out); if (isDefaultCodeGenerator()) { printUnsupported(out); } else { generateRelationAddMethodCall(role, slotName, null, out); } endMethodBody(out); }
String capitalizedSlotName = capitalize(slotName); String slotAccessExpression = "get" + capitalizedSlotName + "()"; String methodModifiers = getMethodModifiers(role);