protected void generateInitializePrimitiveIfNeeded(Slot slot, PrintWriter out) { if (findWrapperEntry(slot.getTypeName()) == null) { generateSlotInitialization(slot.getName(), out); } }
@Override protected void generateSlotAccessors(Slot slot, PrintWriter out) { super.generateSlotAccessors(slot, out); generateExternalizationGetter(slot.getName(), slot.getSlotType(), out); generateInternalizationSetter(slot.getName(), slot.getSlotType(), out); }
public boolean hasSlotWithOption(Slot.Option option) { for (Slot slot : slots) { if (slot.hasOption(option)) { return true; } } return false; } }
protected String getNewSlotExpression(Slot slot) { return "VBox.makeNew(this, \"" + slot.getName() + "\", allocateOnly, false)"; }
protected void generateInfinispanSetterBody(Slot slot, PrintWriter out) { generateSetterDAPStatement(dC, slot.getName(), slot.getTypeName(), out);//DAP write stats update statement generateSetterTxIntrospectorStatement(slot, out); // TxIntrospector onNewline(out); String slotName = slot.getName(); String setterExpression; if (findWrapperEntry(slot.getTypeName()) != null) { // then it is a primitive type setterExpression = slotName; } else { setterExpression = "(" + slotName + " == null ? Externalization.NULL_OBJECT : "; ValueType vt = slot.getSlotType(); if (vt.isBuiltin() || vt.isEnum()) { setterExpression += slotName; } else { // derived value type must be externalized setterExpression += VT_SERIALIZER + ValueTypeSerializationGenerator.makeSafeValueTypeName(vt) + "(" + slotName + ")"; } setterExpression += ")"; } print(out, "InfinispanBackEnd.getInstance().cachePut(getOid().getFullId() + \":" + slotName + "\", " + setterExpression + ");"); }
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); }
@Deprecated public String getType() { return getTypeName(); }
@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); } }
_t = _t.getNextSibling(); slotDef = new Slot(name.getText(), slotType);
protected void ormAddSlot(Slot slot) { this.ormSlots.add(slot.getName()); }
protected void generateInfinispanGetterBody(Slot slot, PrintWriter out, String cacheGetMethod) { generateGetterDAPStatement(dC, slot.getName(), slot.getTypeName(), out);//DAP read stats update statement println(out, "Object obj = InfinispanBackEnd.getInstance()." + cacheGetMethod + "(getOid().getFullId() + \":" + slot.getName() + "\");"); String defaultValue; PrimitiveToWrapperEntry wrapperEntry = findWrapperEntry(slot.getTypeName()); if (wrapperEntry != null) { // then it is a primitive type defaultValue = wrapperEntry.defaultPrimitiveValue; } else { defaultValue = "null"; } println(out, "if (obj == null || obj instanceof Externalization.NullClass) { return " + defaultValue + "; }"); String returnExpression = "return (" + getReferenceType(slot.getTypeName()) + ")"; ValueType vt = slot.getSlotType(); if (vt.isBuiltin() || vt.isEnum()) { returnExpression += "obj"; } else { returnExpression += VT_DESERIALIZER + ValueTypeSerializationGenerator.makeSafeValueTypeName(vt) + "((" + getReferenceType(ValueTypeSerializationGenerator.getSerializedFormTypeName(vt)) + ")obj)"; } returnExpression += ";"; print(out, returnExpression); }
protected String getBoxType(Slot slot) { return getBoxType(getReferenceType(slot.getTypeName())); }
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); }
protected void generateInitializePrimitiveIfNeeded(Slot slot, PrintWriter out) { PrimitiveToWrapperEntry wrapperEntry = findWrapperEntry(slot.getTypeName()); String initialValue = wrapperEntry == null ? null : wrapperEntry.defaultPrimitiveValue; // we always set the value to ensure that the box goes to the write-set. generateNewSlotInitialization(slot.getName(), initialValue, false, out); }
@Override public Slot findSlot(String slotName) { if (slotName == null) { return null; } for (Slot s : slots) { if (s.getName().equals(slotName)) { return s; } } return (superclass != null) ? superclass.findSlot(slotName) : null; }
protected static void updateFields(final DomainModel domainModel, final ClassDescriptor classDescriptor, final DomainClass domClass, final Map<String, ClassDescriptor> ojbMetadata, final Class<?> persistentFieldClass) throws Exception { DomainEntity domEntity = domClass; int fieldID = 1; addPrimaryFieldDescriptor(domainModel, "oid", "long", fieldID++, classDescriptor, persistentFieldClass); // write the domainMetaObject for all domain objects addFieldDescriptor(domainModel, "oidDomainMetaObject", "Long", fieldID++, classDescriptor, persistentFieldClass); while (domEntity instanceof DomainClass) { DomainClass dClass = (DomainClass) domEntity; Iterator<Slot> slots = dClass.getSlots(); while (slots.hasNext()) { Slot slot = slots.next(); String slotName = slot.getName(); String slotType = slot.getSlotType().getDomainName(); addFieldDescriptor(domainModel, slotName, slotType, fieldID++, classDescriptor, persistentFieldClass); } for (Role role : dClass.getRoleSlotsList()) { String roleName = role.getName(); if ((role.getMultiplicityUpper() == 1) && (roleName != null)) { String foreignOidField = "oid" + StringUtils.capitalize(roleName); addFieldDescriptor(domainModel, foreignOidField, "Long", fieldID++, classDescriptor, persistentFieldClass); } } domEntity = dClass.getSuperclass(); } }
@Override protected void generateSetterBody(String setterName, Slot slot, PrintWriter out) { //System.out.println("\tGenerating setter body named " + setterName + "() for slot " + slot.getName() + " of type " + slot.getTypeName()); generateSetterDAPStatement(dC, slot.getName(), slot.getTypeName(), out); //if (DAP_ENABLED) { //generateSetterDAPStatement(domainClass, slot.getName(), slot.getTypeName(), out); //print(out, "pt.ist.dap.implementation.simple.SimpleContextManager.updateWriteStatisticsWithoutContext(\""+ domainClass.getFullName() +"\", \""); //print(out, slot.getName()); //println(out, "\");"); //} super.generateSetterBody(setterName, slot, out); }
@Override protected String getSlotSetterExpression(Slot slot, String value) { return getSlotExpression(slot.getName()) + ".put(" + value + ")"; }
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 generateSlot(Slot slot, PrintWriter out) { this.ormTransientSlots.add(slot.getName()); onNewline(out); // printWords(out, "private", getReferenceType(slot.getTypeName()), slot.getName()); printWords(out, "private", slot.getTypeName(), slot.getName()); print(out, ";"); }