Exemple #1
0
 def getBody(self) :
     result = "{\n"
     if util.isLogEnabledForClass(self.parent) :
         result += "    metadata::startAtomicTransaction();\n"
     result += "    {0}.resize(new_count);\n".format(self.field_name)
     if util.isLogEnabledForClass(self.parent) :
         result += "    metadata::stopAtomicTransaction();\n"
     result += "}\n"
     return result
Exemple #2
0
 def getBody(self) :
     return VArrayResizeMethodTmp.render(class_name = self.parent.__name__,
                                             field = self.field_name,
                                             logger = util.isLogEnabledForClass(self.parent),
                                             singleton = self.parent.singleton,
                                             field_type = util.getInnerTypeName(self.field.data_type),
                                             memory_type = self.memory_type)
Exemple #3
0
 def getBody(self) :
     return self.template.render(parent = self.relationship.parent.__name__,
                                 child = self.relationship.child.__name__,
                                 name = self.relationship.name,
                                 logger = util.isLogEnabledForClass(self.relationship.parent),
                                 child_only = self.relationship.child_only,
                                 static = self.static)
Exemple #4
0
 def getBody(self) :
     result = "{\n"
     result += "    if(!isExists())\n"
     result += "        return false;\n"
     if util.isLogEnabledForClass(self.parent) :
         result += "    metadata::startAtomicTransaction();\n"
     result += "    onDestroy();\n"
     result += self.getRelationshipsParentDestroyCode()
     result += self.getRelationshipsChildDestroyCode()
     result += "    pushFree{0}(*this);\n".format(self.parent.__name__)
     result += self.getFieldsDestroyRoutines()
     result += "    setExists(false);\n"
     if util.isLogEnabledForClass(self.parent) :
         result += "    metadata::stopAtomicTransaction();\n"
     result += "    resetID();\n"
     result += "    return true;\n"
     result += "}\n"
     return result
Exemple #5
0
    def getBody(self) :
        result = "{\n"
        if util.isLogEnabledForClass(self.parent) :
            result += "    metadata::startAtomicTransaction();\n"
        for name in self.parent.__field_names__ :
            result += self.parent.__dict__[name].getResetRoutine(name)

        for rel in dbtypes.HSDB.relationships :
            if rel.parent == self.parent :
                result += rel.getParentInitCode()
        for rel in dbtypes.HSDB.relationships :
            if rel.child == self.parent :
                result += rel.getChildInitCode()

        if util.isLogEnabledForClass(self.parent) :
            result += "    metadata::stopAtomicTransaction();\n"
        result += "}\n"
        return result
Exemple #6
0
 def getLogArrayRecordRoutine(self, index, count) :
     result = ""
     if not util.isLogEnabledForClass(self.parent) :
         return result
     if self.static :
         result += "    Meta.{0}.LogArrayRecord(0, {1}, {2});\n".format(self.field_name, count, index)
     else :
         result += "    Meta.{0}.LogArrayRecord(id(), {1}, {2});\n".format(self.field_name, count, index)
     return result
Exemple #7
0
 def getLogRecordRoutine(self) :
     result = ""
     if not util.isLogEnabledForClass(self.parent) :
         return result
     if self.static :
         result += "    Meta.{0}.LogRecord(0);\n".format(self.field_name)
     else :
         result += "    Meta.{0}.LogRecord(id());\n".format(self.field_name)
     return result
Exemple #8
0
def getStaticFieldsInstantiations(the_class) :
    result = "{0}::{1}::StaticFields {0}::{1}::_staticData;\n".format(dbtypes.HSDB.prefix, the_class.__name__)
    if not the_class.singleton :
        result += "{0}::{1}::ArrayType<{0}::{1}::Fields> {0}::{1}::_instances;\n".format(dbtypes.HSDB.prefix, the_class.__name__)
    for name in the_class.__field_names__ :
        field = the_class.__dict__[name]
        if field.array and field.array_size == 0 :
            result += "{0}::{1}::ArrayType<{3}> {0}::{1}::{2};\n".format(dbtypes.HSDB.prefix, the_class.__name__, name, util.getInnerTypeName(field.data_type))
    if util.isLogEnabledForClass(the_class) :
        result += "{0}::{1}::MetaFields {0}::{1}::Meta;\n".format(dbtypes.HSDB.prefix, the_class.__name__)
        result += "metadata::Class {0}::{1}::self;\n".format(dbtypes.HSDB.prefix, the_class.__name__)
    return result
Exemple #9
0
 def getBody(self) :
     if len(self.args) == 0 :
         return ""
     result = "{\n"
     if util.isLogEnabledForClass(self.parent) :
         result += "    metadata::startAtomicTransaction();\n"
     result += "    {0} result = create();\n".format(self.parent.__name__)
     for name in self.parent.__field_names__ :
         field = self.parent.__dict__[name]
         if field.privacy == fields.PUBLIC_FIELD and not field.static :
             if field.array :
                 if field.array_size == 0 :
                     result += "    result.resize{0}({0}_cnt);\n".format(name)
                 result += "    result.write{0}({0}_data, {0}_cnt);\n".format(name)
             else :
                 result += "    result.set{0}({0}_value);\n".format(name)
     result += "    return result;\n"
     if util.isLogEnabledForClass(self.parent) :
         result += "    metadata::stopAtomicTransaction();\n"
     result += "}\n"
     return result
Exemple #10
0
 def getBody(self) :
     return VArrayClearMethodTmp.render(logger = util.isLogEnabledForClass(self.parent),
                                         class_name = self.parent.__name__,
                                         field = self.field_name,
                                         singleton = self.parent.singleton)
Exemple #11
0
def getMetaData(the_class) :
    if not util.isLogEnabledForClass(the_class) :
        return ""
    return MetadataTmp.render(the_class = the_class)
Exemple #12
0
 def getBody(self) :
     return CreateClassMethodTmp.render(class_name = self.parent.__name__,
                                         logger = util.isLogEnabledForClass(self.parent))