예제 #1
0
    string GenerateDatabaseConstructor()
    {
        StringBuilder builder = new StringBuilder();

        builder.Append(@"
    public __ClassName() { }
    public __ClassName(__ClassName value){");
        foreach (var field in m_Fields)
        {
            string str = @"
        __Assign;";
            str = str.Replace("__Assign", DatabaseUtil.AssignOperate(field.Array, field.Type));
            str = str.Replace("__FieldName", field.Name);
            str = str.Replace("__FieldType", GetCodeType(field.Type));
            builder.Append(str);
        }
        builder.Append(@"
    }");
        return(builder.ToString());
    }
    string GenerateDatabaseSet()
    {
        StringBuilder builder = new StringBuilder();

        builder.Append(@"
    @Override
    public Database__ClassName set(Database__ClassName value) {");
        foreach (var field in m_Database.fields)
        {
            string str = @"
        __Assign;";
            str = str.Replace("__Assign", DatabaseUtil.AssignOperate(field.array, field.@class));
            str = str.Replace("__FieldName", field.name);
            str = str.Replace("__FieldType", DatabaseUtil.GetFinishType(field, true));
            builder.Append(str);
        }
        builder.Append(@"
        return this;
    }");
        return(builder.ToString());
    }
    string GenerateDatabaseDiff()
    {
        StringBuilder builder = new StringBuilder();

        builder.Append(@"
    @Override
    public Database__ClassName diff() {
        Database__ClassName ret = new Database__ClassName();");
        foreach (var field in m_Database.fields)
        {
            string str = @"
        if (this.__FieldName != null && (__self == null || !this.__FieldName.equals(__self.__FieldName)))
            __Assign;";
            str = str.Replace("__Assign", DatabaseUtil.AssignOperate(field.array, field.@class, "ret", "this"));
            str = str.Replace("__FieldName", field.name);
            str = str.Replace("__FieldType", DatabaseUtil.GetFinishType(field, true));
            builder.Append(str);
        }
        builder.Append(@"
        return ret;
    }");
        return(builder.ToString());
    }