예제 #1
0
 def __init__(self):
     CodeGenerator.__init__(self)
     self.extensien_file_out = ".js"
     self.defaultType = "int"
     self.include_foreign = False
     self.classTemplate = "module.exports = function(sequelize, DataTypes) {\nreturn sequelize.define('%s', {\n"
     self.classCloser = "};"
     self.commentSyntax = "//"
     self.foreignSpecific = True
     self.classVariableTemplate = "\t%s: {\n\t\ttype: %s\n\t};\t\n"
     self.classVariableForeignTemplate = "\t%s{\n\t\ttype: Sequelize.INTEGER,\n\t\treferences: '%s',\n\t\treferencesKey: '%s'\n\t}\n"
     self.includeTemplate = ""
     self.inverseNameType = True
     self.typeTable = {
         "EmailField": "DataTypes.CHAR",
         "FileField": "DataTypes.CHAR",
         "FilePathField": "DataTypes.CHAR",
         "CharField": "DataTypes.CHAR" ,
         "FieldFile": "DataTypes.CHAR" ,
         "URLField": "DataTypes.CHAR" ,
         "GenericIPAddressField": "DataTypes.CHAR" ,
         "SlugField": "DataTypes.CHAR" ,
         "ImageField": "DataTypes.CHAR" ,
         "IntegerField": "DataTypes.INTEGER" ,
         "AutoField": "DataTypes.INTEGER, autoIncrement: true" ,
         "PositiveIntegerField": "DataTypes.INTEGER.UNSIGNED" ,
         "PositiveSmallIntegerField": "DataTypes.INTEGER.UNSIGNED" ,
         "SmallIntegerField": "DataTypes.INTEGER" ,
         "DurationField": "DataTypes.BIGINT" ,
         "BigIntegerField": "DataTypes.BIGINT" ,
         "BinaryField": "DataTypes.BLOB" ,
         "BooleanField": "DataTypes.BOOLEAN" ,
         "NullBooleanField": "DataTypes.BOOLEAN, allowNull: true" ,
         "DateField": "DataTypes.DATEONLY" ,
         "DateTimeField": "DataTypes.DATE" ,
         "DecimalField": "DataTypes.DECIMAL" ,
         "FloatField": "DataTypes.FLOAT" ,
         "TextField": "DataTypes.TEXT" ,
         "TimeField": "DataTypes.TIME" ,
         "UUIDField": "DataTypes.UUID" ,
         "CommaSeparatedIntegerField": "DataTypes." ,
         }
예제 #2
0
    def __init__(self):
        CodeGenerator.__init__(self)
        self.singletonTemplateArg = 2
        self.singletonTemplate = "+ (%s)The%s;\n\n"
        self.singletonImplemTemplate = "+ (%s)The%s {\n\tstatic %s *_theApiClient = nil;\n\tstatic dispatch_once_t onceToken;\n\tdispatch_once(&onceToken, ^{\n\t\t"
        self.codeGenericInclude = "#import <Foundation/Foundation.h>\n\n"
        self.paramSeparator = " : "
        self.implem_out = True
        self.extensien_file_out = ".h"
        self.extensien_implem_out = ".m"
        self.defaultType = "NSInteger"
        self.include_foreign = True
        self.classTemplate = "@interface %s : NSObject\n\n"
        self.classCloser = "@end"
        self.commentSyntax = "//"
        self.paramCloser = "]"
        self.formatFlag = "%@/"
        self.callParamSeparator = ","
        self.classVariableTemplate = "@property(nonatomic, strong) %s *%s;\n"
        self.includeTemplate = "@import \"%s" + self.extensien_file_out + "\"\n"
        self.implemTemplate = "@implementation %s"
        self.arrayTemplate = "NSMutableArray /* %s */"
        self.typeTable = {
            "CharField": "NSString",
            "TextField": "NSString",
            "IntegerField": "NSInteger",
            "DecimalField": "NSInteger",
            "PositiveSmallIntegerField": "NSInteger",
            "BigIntegerField": "NSInteger",
            "BooleanField": "NSInteger",
            "DateField": "NSDate",
            "DateTimeField": "NSDate",
            "ListField": "NSMutableArray",
        }
        ##        self.typeTable = {
##            "AutoField": "" ,
##            "BigIntegerField": "" ,
##            "BinaryField": "" ,
##            "BooleanField": "" ,
##            "CharField": "" ,
##            "CommaSeparatedIntegerField": "" ,
##            "DateField": "" ,
##            "DateTimeField": "" ,
##            "DecimalField": "" ,
##            "DurationField": "" ,
##            "EmailField": "" ,
##            "FileField": "" ,
##            "FileField and FieldFile": "" ,
##            "FilePathField": "" ,
##            "FloatField": "" ,
##            "ImageField": "" ,
##            "IntegerField": "" ,
##            "GenericIPAddressField": "" ,
##            "NullBooleanField": "" ,
##            "PositiveIntegerField": "" ,
##            "PositiveSmallIntegerField": "" ,
##            "SlugField": "" ,
##            "SmallIntegerField": "" ,
##            "TextField": "" ,
##            "TimeField": "" ,
##            "URLField": "" ,
##            "UUIDField": "" ,
##            }
예제 #3
0
    def __init__(self):
        CodeGenerator.__init__(self)
        self.implem_out = False
        self.extensien_file_out = ".java"
        self.defaultType = "int"
        self.include_foreign = True
        self.getter_setter = True
        self.construct = True
        self.serialize = True
        self.classTemplate = "public class %s{\n\n"
        self.classCloser = "}"
        self.commentSyntax = "//"
        self.classVariableTemplate = "\tprivate %s %s;\n"
        self.includeTemplate = "@import \"%s" + self.extensien_file_out + "\"\n"
        self.implemTemplate = "@implementation %s"
        self.codeGenericInclude = "import org.json.JSONException;\nimport org.json.JSONObject;\n"
        self.defaultConstructTemplate = "\tpublic %s() {}\n\n"
        self.serializeTemplate =  "\tpublic JSONObject toJSON() {\n\t\tJSONObject data = new JSONObject();\n\t\ttry {\n"
        self.serializeCorTemplate = "\t\t\tdata.put(\"%s\", %s);\n "
        self.serializeClose = "\t\t}\n"
        self.foreignKeySerializeTemplate = "\t\t\t\tdata.put(\"%s\", %s.toJSON());\n "
        self.serializeConditionTemplate = "\t\t\tif (%s != null)\n"
        self.jsonConstructTemplate = "\tpublic %s(JSONObject data) {\n"
        self.jsonConstructCorTemplate = "\t\t%s = %s(\"%s\")"
        self.jsonConstructCor = True
        self.jsonConstructCorClose = ";\n"
        self.jsonConstructCorCloseForeign = ");\n"
        self.jsonConstructClose = "\t\t}\n\t\tcatch (JSONException je) {\n\n\t\t}\n\t\treturn data;\n\t}\n"
        self.jsonType = True
        self.getterTemplate = "\tpublic %s get%s() {\n\t\treturn %s;\n\t}\n\n"
        self.setterTemplate = "\tpublic void set%s(%s Param%s) {\n\t\t%s = Param%s;\n\t}\n\n"
        self.typeTable = {
            "EmailField": "String",
            "FileField": "String",
            "FilePathField": "String",
            "CharField": "String",
            "FieldFile": "String",
            "URLField": "String",
            "GenericIPAddressField": "String",
            "SlugField": "String",
            "ImageField": "String",
            "IntegerField": "int",
            "AutoField": "int",
            "PositiveIntegerField": "unsigned int",
            "PositiveSmallIntegerField": "unsigned short",
            "SmallIntegerField": "short",
            "DurationField": "int",
            "BigIntegerField": "long",
            "BinaryField": "byte[]",
            "BooleanField": "boolean",
            "NullBooleanField": "boolean",
            "DateField": "java.sql.Date",
            "DateTimeField": "java.sql.Timestamp",
            "DecimalField": "java.math.BigDecimal",
            "FloatField": "Double",
            "TextField": "String",
            "TimeField": "java.sql.Time",
            "UUIDField": "java.sql.Rowid",
#            "CommaSeparatedIntegerField": "DataTypes.",
        }

        self.jsontypeTable =  {
            "CharField": "optString",
            "TextField": "optString",
            "IntegerField": "optInt",
            "DecimalField": "optInt",
            "PositiveSmallIntegerField": "optInt",
            "BigIntegerField": "optLong",
            "BooleanField": "optBoolean",
            "DateField": "optString",
            "DateTimeField": "optString",
            "ListField": "optJSONArray"
        }