@Override protected void generateRoleSlotMethodsMultOne(Role role, PrintWriter out) { super.generateRoleSlotMethodsMultOne(role, out); generateRoleSlotMethodsMultOneInternalSetter(role, out); }
protected void generateRoleSlotMethodsMultStarIndexed(Role role, PrintWriter out, String methodModifiers, String capitalizedSlotName, String slotAccessExpression, String typeName, String slotName) { Slot indexedSlot = getIndexedSlot(role); String keyField = role.getIndexProperty(); String retType = role.getType().getFullName(); String methodNameSufix = ""; boolean haveMany = role.getIndexCardinality() == Role.MULTIPLICITY_MANY; if (haveMany) { retType = makeGenericType("java.util.Set", retType); } onNewline(out); printMethod(out, "public", retType, "get" + capitalize(role.getName()) + "By" + capitalize(keyField) + methodNameSufix, indexedSlot.getSlotType().getFullname() + " key"); startMethodBody(out); printWords(out, "return", getSearchForKey(role, haveMany ? getCollectionToUse() : retType)); print(out, ";"); endMethodBody(out); }
@Override protected void generateRoleSlotMethodsMultStar(Role role, PrintWriter out) { super.generateRoleSlotMethodsMultStar(role, out); // generateRoleMultGetterSetter(role, out); generateRoleSlotMethodsMultOneHibernateFK(role, out); }
@Override protected void generateRoleSlotMethodsMultStar(Role role, PrintWriter out) { super.generateRoleSlotMethodsMultStar(role, out); boolean isIndexed = role.isIndexed(); String typeName = getTypeFullName(role.getType()); String slotName = role.getName(); String capitalizedSlotName = capitalize(slotName); String slotAccessExpression = "get" + capitalizedSlotName + "()"; String methodModifiers = getMethodModifiers(role); if (isIndexed) { generateRoleSlotMethodsMultStarIndexed(role, out, methodModifiers, capitalizedSlotName, slotAccessExpression, typeName, slotName); } }
private String getSearchForKey(Role role, String retType) { boolean indexMult = role.isIndexed() && role.getIndexCardinality() == Role.MULTIPLICITY_MANY; String fetchMethod = "get" + (indexMult ? "Values" : ""); return "((" + getRelationAwareTypeFor(role) + ") get" + capitalize(role.getName()) + "Set())." + fetchMethod + "(key)"; }
@Override protected void generateFilePreamble(String subPackageName, PrintWriter out) { super.generateFilePreamble(subPackageName, out); println(out, "import pt.ist.fenixframework.FenixFramework;"); println(out, "import pt.ist.fenixframework.backend.jvstm.pstm.VBox;"); println(out, "import pt.ist.fenixframework.backend.jvstm.pstm.OwnedVBox;"); }
@Override protected void generateStaticKeyFunctionForRole(Role role, PrintWriter out) { if (role.isIndexed()) { onNewline(out); Slot indexedSlot = getIndexedSlot(role); String keyField = role.getIndexProperty(); println(out, generateMapKeyFunction(role.getName(), role.getType().getFullName(), indexedSlot.getSlotType().getFullname(), keyField, role.getIndexCardinality() == Role.MULTIPLICITY_MANY)); onNewline(out); } else { super.generateStaticKeyFunctionForRole(role, out); } }
@Override protected void generateBaseClass(DomainClass domClass, PrintWriter out) { ormBeginBaseClass(domClass); super.generateBaseClass(domClass, out); ormEndBaseClass(); // ormGenerateNonBaseClass(domClass); }
@Override public void generateCode() { File file = new File(getBaseDirectoryFor("") + "/META-INF/orm.xml"); file.getParentFile().mkdirs(); FileWriter fileWriter = null; try { fileWriter = new FileWriter(file); this.ormWriter = new PrintWriter(fileWriter, true); ormBeginFile(); super.generateCode(); ormGenerateNonBaseClasses(getDomainModel().getClasses()); ormEndFile(); generatePersistenceXml(); } catch (IOException ioe) { throw new Error("Can't open file " + file); } finally { if (fileWriter != null) { try { fileWriter.close(); } catch (IOException e) { } } } }
@Override protected void generateFilePreamble(String subPackageName, PrintWriter out) { super.generateFilePreamble(subPackageName, out); println(out, "import pt.ist.fenixframework.backend.ogm.OgmBackEnd;"); println(out, "import pt.ist.fenixframework.backend.ogm.OgmOID;"); println(out, "import pt.ist.fenixframework.core.Externalization;"); println(out, "import " + ValueTypeSerializationGenerator.SERIALIZER_CLASS_FULL_NAME + ";"); println(out, "import static " + ValueTypeSerializationGenerator.SERIALIZER_CLASS_FULL_NAME + ".*;"); newline(out); }
@Override protected void generateFilePreamble(String subPackageName, PrintWriter out) { super.generateFilePreamble(subPackageName, out); println(out, "import pt.ist.fenixframework.backend.infinispan.InfinispanBackEnd;"); println(out, "import pt.ist.fenixframework.backend.infinispan.OID;"); println(out, "import pt.ist.fenixframework.core.Externalization;"); println(out, "import " + ValueTypeSerializationGenerator.SERIALIZER_CLASS_FULL_NAME + ";"); println(out, "import static " + ValueTypeSerializationGenerator.SERIALIZER_CLASS_FULL_NAME + ".*;"); newline(out); }
@Override protected void generateRoleSlotMethodsMultOne(Role role, PrintWriter out) { super.generateRoleSlotMethodsMultOne(role, out); generateRoleSlotMethodsMultOneHibernateFK(role, out); generateRoleSlotMethodsMultOneInternalSetter(role, out); }