ref[protocol]: refactor field method

This commit is contained in:
godotg
2024-07-15 14:56:54 +08:00
parent 9179b8557a
commit 84677581e2
15 changed files with 44 additions and 44 deletions
@@ -253,8 +253,8 @@ public class CodeGenerateEcmaScript implements ICodeGenerate {
for (var fieldNote : fieldNotes) {
fieldDefinitionBuilder.append(fieldNote).append(LS);
}
var triple = esSerializer(fieldRegistration.serializer()).field(field, fieldRegistration);
fieldDefinitionBuilder.append(StringUtils.format("{} = {}; // {}", fieldName, triple.getRight(), triple.getLeft()))
var fieldTypeValue = esSerializer(fieldRegistration.serializer()).fieldTypeValue(field, fieldRegistration);
fieldDefinitionBuilder.append(StringUtils.format("{} = {}; // {}", fieldName, fieldTypeValue.getValue(), fieldTypeValue.getKey()))
.append(LS);
}
@@ -14,7 +14,7 @@
package com.zfoo.protocol.serializer.ecmascript;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.model.Triple;
import com.zfoo.protocol.model.Pair;
import com.zfoo.protocol.registration.field.ArrayField;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.serializer.CodeLanguage;
@@ -31,9 +31,9 @@ import static com.zfoo.protocol.util.FileUtils.LS;
*/
public class EsArraySerializer implements IEsSerializer {
@Override
public Triple<String, String, String> field(Field field, IFieldRegistration fieldRegistration) {
public Pair<String, String> fieldTypeValue(Field field, IFieldRegistration fieldRegistration) {
var type = StringUtils.format("Array<{}>", CodeGenerateTypeScript.toTsClassName(field.getType().getComponentType().getSimpleName()));
return new Triple<>(type, field.getName(), "[]");
return new Pair<>(type, "[]");
}
@Override
@@ -14,7 +14,7 @@
package com.zfoo.protocol.serializer.ecmascript;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.model.Triple;
import com.zfoo.protocol.model.Pair;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.util.StringUtils;
@@ -27,8 +27,8 @@ import static com.zfoo.protocol.util.FileUtils.LS;
*/
public class EsBoolSerializer implements IEsSerializer {
@Override
public Triple<String, String, String> field(Field field, IFieldRegistration fieldRegistration) {
return new Triple<>("boolean", field.getName(), "false");
public Pair<String, String> fieldTypeValue(Field field, IFieldRegistration fieldRegistration) {
return new Pair<>("boolean", "false");
}
@Override
@@ -14,7 +14,7 @@
package com.zfoo.protocol.serializer.ecmascript;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.model.Triple;
import com.zfoo.protocol.model.Pair;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.util.StringUtils;
@@ -27,8 +27,8 @@ import static com.zfoo.protocol.util.FileUtils.LS;
*/
public class EsByteSerializer implements IEsSerializer {
@Override
public Triple<String, String, String> field(Field field, IFieldRegistration fieldRegistration) {
return new Triple<>("number", field.getName(), "0");
public Pair<String, String> fieldTypeValue(Field field, IFieldRegistration fieldRegistration) {
return new Pair<>("number", "0");
}
@Override
@@ -14,7 +14,7 @@
package com.zfoo.protocol.serializer.ecmascript;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.model.Triple;
import com.zfoo.protocol.model.Pair;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.util.StringUtils;
@@ -27,8 +27,8 @@ import static com.zfoo.protocol.util.FileUtils.LS;
*/
public class EsDoubleSerializer implements IEsSerializer {
@Override
public Triple<String, String, String> field(Field field, IFieldRegistration fieldRegistration) {
return new Triple<>("number", field.getName(), "0");
public Pair<String, String> fieldTypeValue(Field field, IFieldRegistration fieldRegistration) {
return new Pair<>("number", "0");
}
@Override
@@ -14,7 +14,7 @@
package com.zfoo.protocol.serializer.ecmascript;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.model.Triple;
import com.zfoo.protocol.model.Pair;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.util.StringUtils;
@@ -27,8 +27,8 @@ import static com.zfoo.protocol.util.FileUtils.LS;
*/
public class EsFloatSerializer implements IEsSerializer {
@Override
public Triple<String, String, String> field(Field field, IFieldRegistration fieldRegistration) {
return new Triple<>("number", field.getName(), "0");
public Pair<String, String> fieldTypeValue(Field field, IFieldRegistration fieldRegistration) {
return new Pair<>("number", "0");
}
@Override
@@ -14,7 +14,7 @@
package com.zfoo.protocol.serializer.ecmascript;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.model.Triple;
import com.zfoo.protocol.model.Pair;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.util.StringUtils;
@@ -27,8 +27,8 @@ import static com.zfoo.protocol.util.FileUtils.LS;
*/
public class EsIntSerializer implements IEsSerializer {
@Override
public Triple<String, String, String> field(Field field, IFieldRegistration fieldRegistration) {
return new Triple<>("number", field.getName(), "0");
public Pair<String, String> fieldTypeValue(Field field, IFieldRegistration fieldRegistration) {
return new Pair<>("number", "0");
}
@Override
@@ -14,7 +14,7 @@
package com.zfoo.protocol.serializer.ecmascript;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.model.Triple;
import com.zfoo.protocol.model.Pair;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.registration.field.ListField;
import com.zfoo.protocol.serializer.CodeLanguage;
@@ -31,8 +31,8 @@ import static com.zfoo.protocol.util.FileUtils.LS;
*/
public class EsListSerializer implements IEsSerializer {
@Override
public Triple<String, String, String> field(Field field, IFieldRegistration fieldRegistration) {
return new Triple<>(CodeGenerateTypeScript.toTsClassName(field.getGenericType().toString()), field.getName(), "[]");
public Pair<String, String> fieldTypeValue(Field field, IFieldRegistration fieldRegistration) {
return new Pair<>(CodeGenerateTypeScript.toTsClassName(field.getGenericType().toString()), "[]");
}
@Override
@@ -14,7 +14,7 @@
package com.zfoo.protocol.serializer.ecmascript;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.model.Triple;
import com.zfoo.protocol.model.Pair;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.util.StringUtils;
@@ -27,8 +27,8 @@ import static com.zfoo.protocol.util.FileUtils.LS;
*/
public class EsLongSerializer implements IEsSerializer {
@Override
public Triple<String, String, String> field(Field field, IFieldRegistration fieldRegistration) {
return new Triple<>("number", field.getName(), "0");
public Pair<String, String> fieldTypeValue(Field field, IFieldRegistration fieldRegistration) {
return new Pair<>("number", "0");
}
@Override
@@ -14,7 +14,7 @@
package com.zfoo.protocol.serializer.ecmascript;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.model.Triple;
import com.zfoo.protocol.model.Pair;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.registration.field.MapField;
import com.zfoo.protocol.serializer.CodeLanguage;
@@ -31,8 +31,8 @@ import static com.zfoo.protocol.util.FileUtils.LS;
*/
public class EsMapSerializer implements IEsSerializer {
@Override
public Triple<String, String, String> field(Field field, IFieldRegistration fieldRegistration) {
return new Triple<>(CodeGenerateTypeScript.toTsClassName(field.getGenericType().toString()), field.getName(), "new Map()");
public Pair<String, String> fieldTypeValue(Field field, IFieldRegistration fieldRegistration) {
return new Pair<>(CodeGenerateTypeScript.toTsClassName(field.getGenericType().toString()), "new Map()");
}
@Override
@@ -14,7 +14,7 @@
package com.zfoo.protocol.serializer.ecmascript;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.model.Triple;
import com.zfoo.protocol.model.Pair;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.registration.field.ObjectProtocolField;
import com.zfoo.protocol.serializer.enhance.EnhanceObjectProtocolSerializer;
@@ -29,11 +29,11 @@ import static com.zfoo.protocol.util.FileUtils.LS;
*/
public class EsObjectProtocolSerializer implements IEsSerializer {
@Override
public Triple<String, String, String> field(Field field, IFieldRegistration fieldRegistration) {
public Pair<String, String> fieldTypeValue(Field field, IFieldRegistration fieldRegistration) {
ObjectProtocolField objectProtocolField = (ObjectProtocolField) fieldRegistration;
var protocolSimpleName = EnhanceObjectProtocolSerializer.getProtocolClassSimpleName(objectProtocolField.getProtocolId());
var type = StringUtils.format("{} | null", protocolSimpleName);
return new Triple<>(type, field.getName(), "null");
return new Pair<>(type, "null");
}
@Override
@@ -14,7 +14,7 @@
package com.zfoo.protocol.serializer.ecmascript;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.model.Triple;
import com.zfoo.protocol.model.Pair;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.registration.field.SetField;
import com.zfoo.protocol.serializer.CodeLanguage;
@@ -31,8 +31,8 @@ import static com.zfoo.protocol.util.FileUtils.LS;
*/
public class EsSetSerializer implements IEsSerializer {
@Override
public Triple<String, String, String> field(Field field, IFieldRegistration fieldRegistration) {
return new Triple<>(CodeGenerateTypeScript.toTsClassName(field.getGenericType().toString()), field.getName(), "new Set()");
public Pair<String, String> fieldTypeValue(Field field, IFieldRegistration fieldRegistration) {
return new Pair<>(CodeGenerateTypeScript.toTsClassName(field.getGenericType().toString()), "new Set()");
}
@Override
@@ -14,7 +14,7 @@
package com.zfoo.protocol.serializer.ecmascript;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.model.Triple;
import com.zfoo.protocol.model.Pair;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.util.StringUtils;
@@ -27,8 +27,8 @@ import static com.zfoo.protocol.util.FileUtils.LS;
*/
public class EsShortSerializer implements IEsSerializer {
@Override
public Triple<String, String, String> field(Field field, IFieldRegistration fieldRegistration) {
return new Triple<>("number", field.getName(), "0");
public Pair<String, String> fieldTypeValue(Field field, IFieldRegistration fieldRegistration) {
return new Pair<>("number", "0");
}
@Override
@@ -14,7 +14,7 @@
package com.zfoo.protocol.serializer.ecmascript;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.model.Triple;
import com.zfoo.protocol.model.Pair;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.util.StringUtils;
@@ -27,8 +27,8 @@ import static com.zfoo.protocol.util.FileUtils.LS;
*/
public class EsStringSerializer implements IEsSerializer {
@Override
public Triple<String, String, String> field(Field field, IFieldRegistration fieldRegistration) {
return new Triple<>("string", field.getName(), "\"\"");
public Pair<String, String> fieldTypeValue(Field field, IFieldRegistration fieldRegistration) {
return new Pair<>("string", "\"\"");
}
@Override
@@ -13,7 +13,7 @@
package com.zfoo.protocol.serializer.ecmascript;
import com.zfoo.protocol.model.Triple;
import com.zfoo.protocol.model.Pair;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import java.lang.reflect.Field;
@@ -24,9 +24,9 @@ import java.lang.reflect.Field;
public interface IEsSerializer {
/**
* 获取属性的类型,名称,默认值
* 获取属性的类型,默认值
*/
Triple<String, String, String> field(Field field, IFieldRegistration fieldRegistration);
Pair<String, String> fieldTypeValue(Field field, IFieldRegistration fieldRegistration);
void writeObject(StringBuilder builder, String objectStr, int deep, Field field, IFieldRegistration fieldRegistration);