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()); }