From c0ddce497c1f9096953530a4d30ab44e37736bdd Mon Sep 17 00:00:00 2001 From: walon Date: Sat, 25 Jun 2022 18:29:59 +0800 Subject: [PATCH] =?UTF-8?q?[fix]=20config=20enum=E7=9A=84java=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E7=94=9F=E6=88=90=E6=99=AE=E9=80=9A=E7=9A=84int?= =?UTF-8?q?=EF=BC=8C=E8=80=8C=E4=B8=8D=E6=98=AFjava=E6=9E=9A=E4=B8=BE?= =?UTF-8?q?=E7=B1=BB=E3=80=82=E4=BF=AE=E5=A4=8Dflags=3D1=E7=9A=84=E6=9E=9A?= =?UTF-8?q?=E4=B8=BE=E9=A1=B9=E5=8F=8D=E5=BA=8F=E5=88=97=E5=8C=96=E7=9A=84?= =?UTF-8?q?=E5=BC=82=E5=B8=B8=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Source/Generate/ExcelConvertRender.cs | 4 ++-- .../TypeVisitors/JavaJsonDeserialize.cs | 2 +- .../JavaUnderingDeserializeVisitor.cs | 2 +- .../TypeVisitors/JavaBoxDefineTypeName.cs | 6 +++++ .../Source/TypeVisitors/JavaDefineTypeName.cs | 5 +++-- .../Templates/common/java/enum.tpl | 22 ++----------------- 6 files changed, 15 insertions(+), 26 deletions(-) diff --git a/src/Luban.Job.Cfg/Source/Generate/ExcelConvertRender.cs b/src/Luban.Job.Cfg/Source/Generate/ExcelConvertRender.cs index 8999b0a..468ad32 100644 --- a/src/Luban.Job.Cfg/Source/Generate/ExcelConvertRender.cs +++ b/src/Luban.Job.Cfg/Source/Generate/ExcelConvertRender.cs @@ -45,7 +45,7 @@ namespace Luban.Job.Cfg.Generate foreach (var subTitle in title.SubTitleList) { - string titleAndTags = subTitle.Tags.Count == 0 ? subTitle.Name : subTitle.Name + "&" + string.Join('&', subTitle.Tags.Select(e => $"{e.Key}={e.Value}")); + string titleAndTags = subTitle.Tags.Count == 0 ? subTitle.Name : subTitle.Name + "#" + string.Join('#', subTitle.Tags.Select(e => $"{e.Key}={e.Value}")); titleRow[subTitle.FromIndex] = titleAndTags; } dataRangeArray.Add(titleRow); @@ -58,7 +58,7 @@ namespace Luban.Job.Cfg.Generate foreach (var subTitle in title.SubTitleList) { string typeAndTags = valueType.Bean.TryGetField(subTitle.Name, out var f, out _) ? - (f.CType.Tags.Count == 0 ? f.CType.Apply(CsDefineTypeName.Ins) : f.CType.Apply(CsDefineTypeName.Ins) + "&" + string.Join('&', f.CType.Tags.Select(e => $"{e.Key}={e.Value}"))) + (f.CType.Tags.Count == 0 ? f.CType.Apply(CsDefineTypeName.Ins) : f.CType.Apply(CsDefineTypeName.Ins) + "#" + string.Join('#', f.CType.Tags.Select(e => $"({e.Key}={e.Value})"))) : ""; typeRow[subTitle.FromIndex] = typeAndTags; } diff --git a/src/Luban.Job.Cfg/Source/TypeVisitors/JavaJsonDeserialize.cs b/src/Luban.Job.Cfg/Source/TypeVisitors/JavaJsonDeserialize.cs index ec362ab..75d78cd 100644 --- a/src/Luban.Job.Cfg/Source/TypeVisitors/JavaJsonDeserialize.cs +++ b/src/Luban.Job.Cfg/Source/TypeVisitors/JavaJsonDeserialize.cs @@ -61,7 +61,7 @@ namespace Luban.Job.Cfg.TypeVisitors public string Accept(TEnum type, string json, string x) { - return $"{x} = {type.DefineEnum.FullNameWithTopModule}.valueOf({json}.getAsInt());"; + return $"{x} = {json}.getAsInt();"; } public string Accept(TString type, string json, string x) diff --git a/src/Luban.Job.Cfg/Source/TypeVisitors/JavaUnderingDeserializeVisitor.cs b/src/Luban.Job.Cfg/Source/TypeVisitors/JavaUnderingDeserializeVisitor.cs index bfea921..22e8c75 100644 --- a/src/Luban.Job.Cfg/Source/TypeVisitors/JavaUnderingDeserializeVisitor.cs +++ b/src/Luban.Job.Cfg/Source/TypeVisitors/JavaUnderingDeserializeVisitor.cs @@ -59,7 +59,7 @@ namespace Luban.Job.Cfg.TypeVisitors public string Accept(TEnum type, string bufName, string fieldName) { - return $"{fieldName} = {type.DefineEnum.FullNameWithTopModule}.valueOf({bufName}.readInt());"; + return $"{fieldName} = {bufName}.readInt();"; } public string Accept(TString type, string bufName, string fieldName) diff --git a/src/Luban.Job.Common/Source/TypeVisitors/JavaBoxDefineTypeName.cs b/src/Luban.Job.Common/Source/TypeVisitors/JavaBoxDefineTypeName.cs index 0507bbc..b63e443 100644 --- a/src/Luban.Job.Common/Source/TypeVisitors/JavaBoxDefineTypeName.cs +++ b/src/Luban.Job.Common/Source/TypeVisitors/JavaBoxDefineTypeName.cs @@ -60,5 +60,11 @@ namespace Luban.Job.Common.TypeVisitors { return "Integer"; } + + public override string Accept(TEnum type) + { + //return type.DefineEnum.FullNameWithTopModule; + return "Integer"; + } } } diff --git a/src/Luban.Job.Common/Source/TypeVisitors/JavaDefineTypeName.cs b/src/Luban.Job.Common/Source/TypeVisitors/JavaDefineTypeName.cs index e84543a..0ad40cb 100644 --- a/src/Luban.Job.Common/Source/TypeVisitors/JavaDefineTypeName.cs +++ b/src/Luban.Job.Common/Source/TypeVisitors/JavaDefineTypeName.cs @@ -56,9 +56,10 @@ namespace Luban.Job.Common.TypeVisitors return type.IsNullable ? "Double" : "double"; } - public string Accept(TEnum type) + public virtual string Accept(TEnum type) { - return type.DefineEnum.FullNameWithTopModule; + //return type.DefineEnum.FullNameWithTopModule; + return type.IsNullable ? "Integer" : "int"; } public string Accept(TString type) diff --git a/src/Luban.Server/Templates/common/java/enum.tpl b/src/Luban.Server/Templates/common/java/enum.tpl index 0534122..ddc00f2 100644 --- a/src/Luban.Server/Templates/common/java/enum.tpl +++ b/src/Luban.Server/Templates/common/java/enum.tpl @@ -11,31 +11,13 @@ package {{namespace_with_top_module}}; * {{comment | html.escape}} */ {{~end~}} -public enum {{name}} { +public final class {{name}} { {{~ for item in items ~}} {{~if item.comment != '' ~}} /** * {{item.escape_comment}} */ {{~end~}} - {{item.name}}({{item.int_value}}), + public static final int {{item.name}} = {{item.int_value}}; {{~end~}} - ; - - private final int value; - - public int getValue() { - return value; - } - - {{name}}(int value) { - this.value = value; - } - - public static {{name}} valueOf(int value) { - {{~ for item in items ~}} - if (value == {{item.int_value}}) return {{item.name}}; - {{~end~}} - throw new IllegalArgumentException(""); - } }