perf[protocol]: 删除生成协议文件多余的类

This commit is contained in:
jaysunxiao
2021-05-20 14:31:37 +08:00
parent bce060a28e
commit c243cb970d
63 changed files with 467 additions and 482 deletions
@@ -260,10 +260,10 @@ public class ProtocolManager {
GenerateProtocolDocument.clear();
GenerateProtocolPath.clear();
GenerateProtocolFile.clear();
GenerateCsUtils.clear();
GenerateJsUtils.clear();
GenerateLuaUtils.clear();
GenerateUtils.clear();
EnhanceUtils.clear();
}
@@ -24,9 +24,12 @@ import java.io.IOException;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Objects;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.function.Predicate;
import java.util.stream.Collectors;
import static com.zfoo.protocol.util.StringUtils.TAB;
/**
* @author jaysunxiao
* @version 3.0
@@ -38,6 +41,17 @@ public abstract class GenerateProtocolFile {
*/
public static Predicate<IProtocolRegistration> generateProtocolFilter = registration -> true;
public static AtomicInteger index = new AtomicInteger();
public static StringBuilder addTab(StringBuilder builder, int deep) {
builder.append(TAB.repeat(Math.max(0, deep)));
return builder;
}
public static void clear() {
generateProtocolFilter = null;
index = null;
}
public static void generate(IProtocolRegistration[] protocols, GenerateOperation generateOperation) throws IOException {
@@ -18,6 +18,7 @@ import com.zfoo.protocol.ProtocolManager;
import com.zfoo.protocol.buffer.ByteBufUtils;
import com.zfoo.protocol.collection.ArrayUtils;
import com.zfoo.protocol.collection.CollectionUtils;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.serializer.*;
import com.zfoo.protocol.serializer.enhance.*;
@@ -120,7 +121,7 @@ public abstract class EnhanceUtils {
public static IProtocolRegistration createProtocolRegistration(ProtocolRegistration registration) throws NotFoundException, CannotCompileException, NoSuchMethodException, IllegalAccessException, InvocationTargetException, InstantiationException {
var classPool = ClassPool.getDefault();
GenerateUtils.index.set(0);
GenerateProtocolFile.index.set(0);
short protocolId = registration.getId();
IFieldRegistration[] packetFields = registration.getFieldRegistrations();
@@ -1,37 +0,0 @@
/*
* Copyright (C) 2020 The zfoo Authors
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
* in compliance with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software distributed under the License is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and limitations under the License.
*/
package com.zfoo.protocol.serializer;
import java.util.concurrent.atomic.AtomicInteger;
import static com.zfoo.protocol.util.StringUtils.TAB;
/**
* @author jaysunxiao
* @version 3.0
*/
public abstract class GenerateUtils {
public static AtomicInteger index = new AtomicInteger();
public static StringBuilder addTab(StringBuilder builder, int deep) {
builder.append(TAB.repeat(Math.max(0, deep)));
return builder;
}
public static void clear() {
index = null;
}
}
@@ -13,9 +13,9 @@
package com.zfoo.protocol.serializer.cs;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.registration.field.ArrayField;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.serializer.GenerateUtils;
import com.zfoo.protocol.util.StringUtils;
import java.lang.reflect.Field;
@@ -32,76 +32,76 @@ public class CsArraySerializer implements ICsSerializer {
public void writeObject(StringBuilder builder, String objectStr, int deep, Field field, IFieldRegistration fieldRegistration) {
ArrayField arrayField = (ArrayField) fieldRegistration;
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("if (({} == null) || ({}.Length == 0))", objectStr, objectStr)).append(LS);
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append("{").append(LS);
GenerateUtils.addTab(builder, deep + 1);
GenerateProtocolFile.addTab(builder, deep + 1);
builder.append("buffer.WriteInt(0);").append(LS);
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append("}").append(LS);
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append("else").append(LS);
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append("{").append(LS);
GenerateUtils.addTab(builder, deep + 1);
GenerateProtocolFile.addTab(builder, deep + 1);
builder.append(StringUtils.format("buffer.WriteInt({}.Length);", objectStr)).append(LS);
GenerateUtils.addTab(builder, deep + 1);
String length = "length" + GenerateUtils.index.getAndIncrement();
GenerateProtocolFile.addTab(builder, deep + 1);
String length = "length" + GenerateProtocolFile.index.getAndIncrement();
builder.append(StringUtils.format("int {} = {}.Length;", length, objectStr)).append(LS);
String i = "i" + GenerateUtils.index.getAndIncrement();
GenerateUtils.addTab(builder, deep + 1);
String i = "i" + GenerateProtocolFile.index.getAndIncrement();
GenerateProtocolFile.addTab(builder, deep + 1);
builder.append(StringUtils.format("for (int {} = 0; {} < {}; {}++)", i, i, length, i)).append(LS);
GenerateUtils.addTab(builder, deep + 1);
GenerateProtocolFile.addTab(builder, deep + 1);
builder.append("{").append(LS);
GenerateUtils.addTab(builder, deep + 2);
String element = "element" + GenerateUtils.index.getAndIncrement();
GenerateProtocolFile.addTab(builder, deep + 2);
String element = "element" + GenerateProtocolFile.index.getAndIncrement();
builder.append(StringUtils.format("{} {} = {}[{}];", GenerateCsUtils.toCsClassName(arrayField.getField().getType().getComponentType().getSimpleName()), element, objectStr, i)).append(LS);
GenerateCsUtils.csSerializer(arrayField.getArrayElementRegistration().serializer())
.writeObject(builder, element, deep + 2, field, arrayField.getArrayElementRegistration());
GenerateUtils.addTab(builder, deep + 1);
GenerateProtocolFile.addTab(builder, deep + 1);
builder.append("}").append(LS);
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append("}").append(LS);
}
@Override
public String readObject(StringBuilder builder, int deep, Field field, IFieldRegistration fieldRegistration) {
var arrayField = (ArrayField) fieldRegistration;
var result = "result" + GenerateUtils.index.getAndIncrement();
var result = "result" + GenerateProtocolFile.index.getAndIncrement();
var typeName = GenerateCsUtils.toCsClassName(arrayField.getField().getType().getComponentType().getSimpleName());
var i = "index" + GenerateUtils.index.getAndIncrement();
var size = "size" + GenerateUtils.index.getAndIncrement();
GenerateUtils.addTab(builder, deep);
var i = "index" + GenerateProtocolFile.index.getAndIncrement();
var size = "size" + GenerateProtocolFile.index.getAndIncrement();
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("int {} = buffer.ReadInt();", size)).append(LS);
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("{}[] {} = new {}[{}];", typeName, result, typeName, size)).append(LS);
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("if ({} > 0)", size)).append(LS);
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append("{").append(LS);
GenerateUtils.addTab(builder, deep + 1);
GenerateProtocolFile.addTab(builder, deep + 1);
builder.append(StringUtils.format("for (int {} = 0; {} < {}; {}++)", i, i, size, i)).append(LS);
GenerateUtils.addTab(builder, deep + 1);
GenerateProtocolFile.addTab(builder, deep + 1);
builder.append("{").append(LS);
var readObject = GenerateCsUtils.csSerializer(arrayField.getArrayElementRegistration().serializer())
.readObject(builder, deep + 2, field, arrayField.getArrayElementRegistration());
GenerateUtils.addTab(builder, deep + 2);
GenerateProtocolFile.addTab(builder, deep + 2);
builder.append(StringUtils.format("{}[{}] = {};", result, i, readObject));
builder.append(LS);
GenerateUtils.addTab(builder, deep + 1);
GenerateProtocolFile.addTab(builder, deep + 1);
builder.append("}").append(LS);
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append("}").append(LS);
@@ -13,8 +13,8 @@
package com.zfoo.protocol.serializer.cs;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.serializer.GenerateUtils;
import com.zfoo.protocol.util.StringUtils;
import java.lang.reflect.Field;
@@ -29,15 +29,15 @@ public class CsBooleanSerializer implements ICsSerializer {
@Override
public void writeObject(StringBuilder builder, String objectStr, int deep, Field field, IFieldRegistration fieldRegistration) {
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("buffer.WriteBool({});", objectStr)).append(LS);
}
@Override
public String readObject(StringBuilder builder, int deep, Field field, IFieldRegistration fieldRegistration) {
String result = "result" + GenerateUtils.index.getAndIncrement();
String result = "result" + GenerateProtocolFile.index.getAndIncrement();
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("bool {} = buffer.ReadBool();", result)).append(LS);
return result;
}
@@ -13,8 +13,8 @@
package com.zfoo.protocol.serializer.cs;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.serializer.GenerateUtils;
import com.zfoo.protocol.util.StringUtils;
import java.lang.reflect.Field;
@@ -29,15 +29,15 @@ public class CsByteSerializer implements ICsSerializer {
@Override
public void writeObject(StringBuilder builder, String objectStr, int deep, Field field, IFieldRegistration fieldRegistration) {
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("buffer.WriteByte({});", objectStr)).append(LS);
}
@Override
public String readObject(StringBuilder builder, int deep, Field field, IFieldRegistration fieldRegistration) {
String result = "result" + GenerateUtils.index.getAndIncrement();
String result = "result" + GenerateProtocolFile.index.getAndIncrement();
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("byte {} = buffer.ReadByte();", result)).append(LS);
return result;
}
@@ -13,8 +13,8 @@
package com.zfoo.protocol.serializer.cs;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.serializer.GenerateUtils;
import com.zfoo.protocol.util.StringUtils;
import java.lang.reflect.Field;
@@ -29,15 +29,15 @@ public class CsCharSerializer implements ICsSerializer {
@Override
public void writeObject(StringBuilder builder, String objectStr, int deep, Field field, IFieldRegistration fieldRegistration) {
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("buffer.WriteChar({});", objectStr)).append(LS);
}
@Override
public String readObject(StringBuilder builder, int deep, Field field, IFieldRegistration fieldRegistration) {
String result = "result" + GenerateUtils.index.getAndIncrement();
String result = "result" + GenerateProtocolFile.index.getAndIncrement();
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("char {} = buffer.ReadChar();", result)).append(LS);
return result;
}
@@ -13,8 +13,8 @@
package com.zfoo.protocol.serializer.cs;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.serializer.GenerateUtils;
import com.zfoo.protocol.util.StringUtils;
import java.lang.reflect.Field;
@@ -29,15 +29,15 @@ public class CsDoubleSerializer implements ICsSerializer {
@Override
public void writeObject(StringBuilder builder, String objectStr, int deep, Field field, IFieldRegistration fieldRegistration) {
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("buffer.WriteDouble({});", objectStr)).append(LS);
}
@Override
public String readObject(StringBuilder builder, int deep, Field field, IFieldRegistration fieldRegistration) {
String result = "result" + GenerateUtils.index.getAndIncrement();
String result = "result" + GenerateProtocolFile.index.getAndIncrement();
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("double {} = buffer.ReadDouble();", result)).append(LS);
return result;
}
@@ -13,8 +13,8 @@
package com.zfoo.protocol.serializer.cs;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.serializer.GenerateUtils;
import com.zfoo.protocol.util.StringUtils;
import java.lang.reflect.Field;
@@ -29,15 +29,15 @@ public class CsFloatSerializer implements ICsSerializer {
@Override
public void writeObject(StringBuilder builder, String objectStr, int deep, Field field, IFieldRegistration fieldRegistration) {
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("buffer.WriteFloat({});", objectStr)).append(LS);
}
@Override
public String readObject(StringBuilder builder, int deep, Field field, IFieldRegistration fieldRegistration) {
String result = "result" + GenerateUtils.index.getAndIncrement();
String result = "result" + GenerateProtocolFile.index.getAndIncrement();
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("float {} = buffer.ReadFloat();", result)).append(LS);
return result;
}
@@ -13,8 +13,8 @@
package com.zfoo.protocol.serializer.cs;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.serializer.GenerateUtils;
import com.zfoo.protocol.util.StringUtils;
import java.lang.reflect.Field;
@@ -29,15 +29,15 @@ public class CsIntSerializer implements ICsSerializer {
@Override
public void writeObject(StringBuilder builder, String objectStr, int deep, Field field, IFieldRegistration fieldRegistration) {
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("buffer.WriteInt({});", objectStr)).append(LS);
}
@Override
public String readObject(StringBuilder builder, int deep, Field field, IFieldRegistration fieldRegistration) {
String result = "result" + GenerateUtils.index.getAndIncrement();
String result = "result" + GenerateProtocolFile.index.getAndIncrement();
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("int {} = buffer.ReadInt();", result)).append(LS);
return result;
}
@@ -13,9 +13,9 @@
package com.zfoo.protocol.serializer.cs;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.registration.field.ListField;
import com.zfoo.protocol.serializer.GenerateUtils;
import com.zfoo.protocol.util.StringUtils;
import java.lang.reflect.Field;
@@ -32,77 +32,77 @@ public class CsListSerializer implements ICsSerializer {
public void writeObject(StringBuilder builder, String objectStr, int deep, Field field, IFieldRegistration fieldRegistration) {
ListField listField = (ListField) fieldRegistration;
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("if ({} == null)", objectStr)).append(LS);
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append("{").append(LS);
GenerateUtils.addTab(builder, deep + 1);
GenerateProtocolFile.addTab(builder, deep + 1);
builder.append("buffer.WriteInt(0);").append(LS);
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append("}").append(LS);
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append("else").append(LS);
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append("{").append(LS);
GenerateUtils.addTab(builder, deep + 1);
GenerateProtocolFile.addTab(builder, deep + 1);
builder.append(StringUtils.format("buffer.WriteInt({}.Count);", objectStr)).append(LS);
GenerateUtils.addTab(builder, deep + 1);
String length = "length" + GenerateUtils.index.getAndIncrement();
GenerateProtocolFile.addTab(builder, deep + 1);
String length = "length" + GenerateProtocolFile.index.getAndIncrement();
builder.append(StringUtils.format("int {} = {}.Count;", length, objectStr)).append(LS);
GenerateUtils.addTab(builder, deep + 1);
String i = "i" + GenerateUtils.index.getAndIncrement();
GenerateProtocolFile.addTab(builder, deep + 1);
String i = "i" + GenerateProtocolFile.index.getAndIncrement();
builder.append(StringUtils.format("for (int {} = 0; {} < {}; {}++)", i, i, length, i)).append(LS);
GenerateUtils.addTab(builder, deep + 1);
GenerateProtocolFile.addTab(builder, deep + 1);
builder.append("{").append(LS);
GenerateUtils.addTab(builder, deep + 2);
String element = "element" + GenerateUtils.index.getAndIncrement();
GenerateProtocolFile.addTab(builder, deep + 2);
String element = "element" + GenerateProtocolFile.index.getAndIncrement();
builder.append(StringUtils.format("var {} = {}[{}];", element, objectStr, i)).append(LS);
GenerateCsUtils.csSerializer(listField.getListElementRegistration().serializer())
.writeObject(builder, element, deep + 2, field, listField.getListElementRegistration());
GenerateUtils.addTab(builder, deep + 1);
GenerateProtocolFile.addTab(builder, deep + 1);
builder.append("}").append(LS);
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append("}").append(LS);
}
@Override
public String readObject(StringBuilder builder, int deep, Field field, IFieldRegistration fieldRegistration) {
var listField = (ListField) fieldRegistration;
var result = "result" + GenerateUtils.index.getAndIncrement();
var result = "result" + GenerateProtocolFile.index.getAndIncrement();
var typeName = GenerateCsUtils.toCsClassName(listField.getType().toString());
var i = "index" + GenerateUtils.index.getAndIncrement();
var size = "size" + GenerateUtils.index.getAndIncrement();
GenerateUtils.addTab(builder, deep);
var i = "index" + GenerateProtocolFile.index.getAndIncrement();
var size = "size" + GenerateProtocolFile.index.getAndIncrement();
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("int {} = buffer.ReadInt();", size)).append(LS);
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("var {} = new {}({});", result, typeName, size)).append(LS);
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("if ({} > 0)", size)).append(LS);
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append("{").append(LS);
GenerateUtils.addTab(builder, deep + 1);
GenerateProtocolFile.addTab(builder, deep + 1);
builder.append(StringUtils.format("for (int {} = 0; {} < {}; {}++)", i, i, size, i)).append(LS);
GenerateUtils.addTab(builder, deep + 1);
GenerateProtocolFile.addTab(builder, deep + 1);
builder.append("{").append(LS);
var readObject = GenerateCsUtils.csSerializer(listField.getListElementRegistration().serializer())
.readObject(builder, deep + 2, field, listField.getListElementRegistration());
GenerateUtils.addTab(builder, deep + 2);
GenerateProtocolFile.addTab(builder, deep + 2);
builder.append(StringUtils.format("{}.Add({});", result, readObject)).append(LS);
GenerateUtils.addTab(builder, deep + 1);
GenerateProtocolFile.addTab(builder, deep + 1);
builder.append("}").append(LS);
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append("}").append(LS);
@@ -13,8 +13,8 @@
package com.zfoo.protocol.serializer.cs;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.serializer.GenerateUtils;
import com.zfoo.protocol.util.StringUtils;
import java.lang.reflect.Field;
@@ -29,15 +29,15 @@ public class CsLongSerializer implements ICsSerializer {
@Override
public void writeObject(StringBuilder builder, String objectStr, int deep, Field field, IFieldRegistration fieldRegistration) {
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("buffer.WriteLong({});", objectStr)).append(LS);
}
@Override
public String readObject(StringBuilder builder, int deep, Field field, IFieldRegistration fieldRegistration) {
String result = "result" + GenerateUtils.index.getAndIncrement();
String result = "result" + GenerateProtocolFile.index.getAndIncrement();
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("long {} = buffer.ReadLong();", result)).append(LS);
return result;
}
@@ -13,9 +13,9 @@
package com.zfoo.protocol.serializer.cs;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.registration.field.MapField;
import com.zfoo.protocol.serializer.GenerateUtils;
import com.zfoo.protocol.util.StringUtils;
import java.lang.reflect.Field;
@@ -32,48 +32,48 @@ public class CsMapSerializer implements ICsSerializer {
public void writeObject(StringBuilder builder, String objectStr, int deep, Field field, IFieldRegistration fieldRegistration) {
MapField mapField = (MapField) fieldRegistration;
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("if (({} == null) || ({}.Count == 0))", objectStr, objectStr)).append(LS);
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append("{").append(LS);
GenerateUtils.addTab(builder, deep + 1);
GenerateProtocolFile.addTab(builder, deep + 1);
builder.append("buffer.WriteInt(0);").append(LS);
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append("}").append(LS);
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append("else").append(LS);
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append("{").append(LS);
GenerateUtils.addTab(builder, deep + 1);
GenerateProtocolFile.addTab(builder, deep + 1);
builder.append(StringUtils.format("buffer.WriteInt({}.Count);", objectStr)).append(LS);
String i = "i" + GenerateUtils.index.getAndIncrement();
String i = "i" + GenerateProtocolFile.index.getAndIncrement();
GenerateUtils.addTab(builder, deep + 1);
GenerateProtocolFile.addTab(builder, deep + 1);
builder.append(StringUtils.format("foreach (var {} in {})", i, objectStr)).append(LS);
GenerateUtils.addTab(builder, deep + 1);
GenerateProtocolFile.addTab(builder, deep + 1);
builder.append("{").append(LS);
GenerateUtils.addTab(builder, deep + 2);
String key = "keyElement" + GenerateUtils.index.getAndIncrement();
String value = "valueElement" + GenerateUtils.index.getAndIncrement();
GenerateProtocolFile.addTab(builder, deep + 2);
String key = "keyElement" + GenerateProtocolFile.index.getAndIncrement();
String value = "valueElement" + GenerateProtocolFile.index.getAndIncrement();
builder.append(StringUtils.format("var {} = {}.Key;", key, i)).append(LS);
GenerateUtils.addTab(builder, deep + 2);
GenerateProtocolFile.addTab(builder, deep + 2);
builder.append(StringUtils.format("var {} = {}.Value;", value, i)).append(LS);
GenerateCsUtils.csSerializer(mapField.getMapKeyRegistration().serializer())
.writeObject(builder, key, deep + 2, field, mapField.getMapKeyRegistration());
GenerateCsUtils.csSerializer(mapField.getMapValueRegistration().serializer())
.writeObject(builder, value, deep + 2, field, mapField.getMapValueRegistration());
GenerateUtils.addTab(builder, deep + 1);
GenerateProtocolFile.addTab(builder, deep + 1);
builder.append("}").append(LS);
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append("}").append(LS);
}
@@ -81,27 +81,27 @@ public class CsMapSerializer implements ICsSerializer {
@Override
public String readObject(StringBuilder builder, int deep, Field field, IFieldRegistration fieldRegistration) {
MapField mapField = (MapField) fieldRegistration;
String result = "result" + GenerateUtils.index.getAndIncrement();
String result = "result" + GenerateProtocolFile.index.getAndIncrement();
var typeName = GenerateCsUtils.toCsClassName(mapField.getType().toString());
GenerateUtils.addTab(builder, deep);
String size = "size" + GenerateUtils.index.getAndIncrement();
GenerateProtocolFile.addTab(builder, deep);
String size = "size" + GenerateProtocolFile.index.getAndIncrement();
builder.append(StringUtils.format("int {} = buffer.ReadInt();", size)).append(LS);
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("var {} = new {}({});", result, typeName, size)).append(LS);
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("if ({} > 0)", size)).append(LS);
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append("{").append(LS);
String i = "index" + GenerateUtils.index.getAndIncrement();
GenerateUtils.addTab(builder, deep + 1);
String i = "index" + GenerateProtocolFile.index.getAndIncrement();
GenerateProtocolFile.addTab(builder, deep + 1);
builder.append(StringUtils.format("for (var {} = 0; {} < {}; {}++)", i, i, size, i)).append(LS);
GenerateUtils.addTab(builder, deep + 1);
GenerateProtocolFile.addTab(builder, deep + 1);
builder.append("{").append(LS);
String keyObject = GenerateCsUtils.csSerializer(mapField.getMapKeyRegistration().serializer())
@@ -110,12 +110,12 @@ public class CsMapSerializer implements ICsSerializer {
String valueObject = GenerateCsUtils.csSerializer(mapField.getMapValueRegistration().serializer())
.readObject(builder, deep + 2, field, mapField.getMapValueRegistration());
GenerateUtils.addTab(builder, deep + 2);
GenerateProtocolFile.addTab(builder, deep + 2);
builder.append(StringUtils.format("{}[{}] = {};", result, keyObject, valueObject)).append(LS);
GenerateUtils.addTab(builder, deep + 1);
GenerateProtocolFile.addTab(builder, deep + 1);
builder.append("}").append(LS);
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append("}").append(LS);
return result;
}
@@ -14,9 +14,9 @@
package com.zfoo.protocol.serializer.cs;
import com.zfoo.protocol.ProtocolManager;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.registration.field.ObjectProtocolField;
import com.zfoo.protocol.serializer.GenerateUtils;
import com.zfoo.protocol.util.StringUtils;
import java.lang.reflect.Field;
@@ -33,7 +33,7 @@ public class CsObjectProtocolSerializer implements ICsSerializer {
@Override
public void writeObject(StringBuilder builder, String objectStr, int deep, Field field, IFieldRegistration fieldRegistration) {
ObjectProtocolField objectProtocolField = (ObjectProtocolField) fieldRegistration;
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("ProtocolManager.GetProtocol({}).Write(buffer, {});", objectProtocolField.getProtocolId(), objectStr))
.append(LS);
}
@@ -41,9 +41,9 @@ public class CsObjectProtocolSerializer implements ICsSerializer {
@Override
public String readObject(StringBuilder builder, int deep, Field field, IFieldRegistration fieldRegistration) {
ObjectProtocolField objectProtocolField = (ObjectProtocolField) fieldRegistration;
String result = "result" + GenerateUtils.index.getAndIncrement();
String result = "result" + GenerateProtocolFile.index.getAndIncrement();
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("{} {} = ({}) ProtocolManager.GetProtocol({}).Read(buffer);", getProtocolSimpleName(objectProtocolField), result, getProtocolSimpleName(objectProtocolField), objectProtocolField.getProtocolId()))
.append(LS);
return result;
@@ -13,9 +13,9 @@
package com.zfoo.protocol.serializer.cs;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.registration.field.SetField;
import com.zfoo.protocol.serializer.GenerateUtils;
import com.zfoo.protocol.util.StringUtils;
import java.lang.reflect.Field;
@@ -32,71 +32,71 @@ public class CsSetSerializer implements ICsSerializer {
public void writeObject(StringBuilder builder, String objectStr, int deep, Field field, IFieldRegistration fieldRegistration) {
SetField setField = (SetField) fieldRegistration;
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("if ({} == null)", objectStr)).append(LS);
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append("{").append(LS);
GenerateUtils.addTab(builder, deep + 1);
GenerateProtocolFile.addTab(builder, deep + 1);
builder.append("buffer.WriteInt(0);").append(LS);
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append("}").append(LS);
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append("else").append(LS);
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append("{").append(LS);
GenerateUtils.addTab(builder, deep + 1);
GenerateProtocolFile.addTab(builder, deep + 1);
builder.append(StringUtils.format("buffer.WriteInt({}.Count);", objectStr)).append(LS);
String element = "i" + GenerateUtils.index.getAndIncrement();
GenerateUtils.addTab(builder, deep + 1);
String element = "i" + GenerateProtocolFile.index.getAndIncrement();
GenerateProtocolFile.addTab(builder, deep + 1);
builder.append(StringUtils.format("foreach (var {} in {})", element, objectStr)).append(LS);
GenerateUtils.addTab(builder, deep + 1);
GenerateProtocolFile.addTab(builder, deep + 1);
builder.append("{").append(LS);
GenerateCsUtils.csSerializer(setField.getSetElementRegistration().serializer())
.writeObject(builder, element, deep + 2, field, setField.getSetElementRegistration());
GenerateUtils.addTab(builder, deep + 1);
GenerateProtocolFile.addTab(builder, deep + 1);
builder.append("}").append(LS);
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append("}").append(LS);
}
@Override
public String readObject(StringBuilder builder, int deep, Field field, IFieldRegistration fieldRegistration) {
SetField setField = (SetField) fieldRegistration;
var result = "result" + GenerateUtils.index.getAndIncrement();
var result = "result" + GenerateProtocolFile.index.getAndIncrement();
var typeName = GenerateCsUtils.toCsClassName(setField.getType().toString());
var i = "index" + GenerateUtils.index.getAndIncrement();
var size = "size" + GenerateUtils.index.getAndIncrement();
GenerateUtils.addTab(builder, deep);
var i = "index" + GenerateProtocolFile.index.getAndIncrement();
var size = "size" + GenerateProtocolFile.index.getAndIncrement();
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("int {} = buffer.ReadInt();", size)).append(LS);
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
// unity里不支持HashSet的初始化大小
// builder.append("var " + result + " = new " + typeName + "(" + size + ");" + LS);
builder.append(StringUtils.format("var {} = new {}();", result, typeName)).append(LS);
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("if ({} > 0)", size)).append(LS);
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append("{").append(LS);
GenerateUtils.addTab(builder, deep + 1);
GenerateProtocolFile.addTab(builder, deep + 1);
builder.append(StringUtils.format("for (int {} = 0; {} < {}; {}++)", i, i, size, i)).append(LS);
GenerateUtils.addTab(builder, deep + 1);
GenerateProtocolFile.addTab(builder, deep + 1);
builder.append("{").append(LS);
var readObject = GenerateCsUtils.csSerializer(setField.getSetElementRegistration().serializer())
.readObject(builder, deep + 2, field, setField.getSetElementRegistration());
GenerateUtils.addTab(builder, deep + 2);
GenerateProtocolFile.addTab(builder, deep + 2);
builder.append(StringUtils.format("{}.Add({});", result, readObject)).append(LS);
GenerateUtils.addTab(builder, deep + 1);
GenerateProtocolFile.addTab(builder, deep + 1);
builder.append("}").append(LS);
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append("}").append(LS);
return result;
@@ -13,8 +13,8 @@
package com.zfoo.protocol.serializer.cs;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.serializer.GenerateUtils;
import com.zfoo.protocol.util.StringUtils;
import java.lang.reflect.Field;
@@ -29,15 +29,15 @@ public class CsShortSerializer implements ICsSerializer {
@Override
public void writeObject(StringBuilder builder, String objectStr, int deep, Field field, IFieldRegistration fieldRegistration) {
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("buffer.WriteShort({});", objectStr)).append(LS);
}
@Override
public String readObject(StringBuilder builder, int deep, Field field, IFieldRegistration fieldRegistration) {
String result = "result" + GenerateUtils.index.getAndIncrement();
String result = "result" + GenerateProtocolFile.index.getAndIncrement();
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("short {} = buffer.ReadShort();", result)).append(LS);
return result;
}
@@ -13,8 +13,8 @@
package com.zfoo.protocol.serializer.cs;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.serializer.GenerateUtils;
import com.zfoo.protocol.util.StringUtils;
import java.lang.reflect.Field;
@@ -29,15 +29,15 @@ public class CsStringSerializer implements ICsSerializer {
@Override
public void writeObject(StringBuilder builder, String objectStr, int deep, Field field, IFieldRegistration fieldRegistration) {
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("buffer.WriteString({});", objectStr)).append(LS);
}
@Override
public String readObject(StringBuilder builder, int deep, Field field, IFieldRegistration fieldRegistration) {
String result = "result" + GenerateUtils.index.getAndIncrement();
String result = "result" + GenerateProtocolFile.index.getAndIncrement();
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("string {} = buffer.ReadString();", result)).append(LS);
return result;
}
@@ -14,6 +14,7 @@
package com.zfoo.protocol.serializer.cs;
import com.zfoo.protocol.generate.GenerateProtocolDocument;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.generate.GenerateProtocolPath;
import com.zfoo.protocol.model.Pair;
import com.zfoo.protocol.registration.ProtocolRegistration;
@@ -93,7 +94,7 @@ public abstract class GenerateCsUtils {
* 生成协议类
*/
public static void createCsProtocolFile(ProtocolRegistration registration) {
GenerateUtils.index.set(0);
GenerateProtocolFile.index.set(0);
var protocolId = registration.protocolId();
var registrationConstructor = registration.getConstructor();
@@ -13,10 +13,10 @@
package com.zfoo.protocol.serializer.enhance;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.registration.EnhanceUtils;
import com.zfoo.protocol.registration.field.ArrayField;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.serializer.GenerateUtils;
import com.zfoo.protocol.util.StringUtils;
import java.lang.reflect.Field;
@@ -87,16 +87,16 @@ public class EnhanceArraySerializer implements IEnhanceSerializer {
default:
}
var array = "array" + GenerateUtils.index.getAndIncrement();
var length = "length" + GenerateUtils.index.getAndIncrement();
var array = "array" + GenerateProtocolFile.index.getAndIncrement();
var length = "length" + GenerateProtocolFile.index.getAndIncrement();
builder.append(StringUtils.format("{}[] {} = {};", arrayName, array, objectStr));
builder.append(StringUtils.format("int {} = ArrayUtils.length({});", length, array));
builder.append(StringUtils.format("{}.writeInt($1,{});", EnhanceUtils.byteBufUtils, length));
var i = "i" + GenerateUtils.index.getAndIncrement();
var i = "i" + GenerateProtocolFile.index.getAndIncrement();
builder.append(StringUtils.format("for(int {}=0; {}<{}; {}++){", i, i, length, i));
var element = "element" + GenerateUtils.index.getAndIncrement();
var element = "element" + GenerateProtocolFile.index.getAndIncrement();
builder.append(StringUtils.format("{} {} = {}[{}];", arrayName, element, array, i));
EnhanceUtils.enhanceSerializer(arrayField.getArrayElementRegistration().serializer())
@@ -110,7 +110,7 @@ public class EnhanceArraySerializer implements IEnhanceSerializer {
var arrayField = (ArrayField) fieldRegistration;
var arrayName = getArrayClassName(arrayField);
var array = "array" + GenerateUtils.index.getAndIncrement();
var array = "array" + GenerateProtocolFile.index.getAndIncrement();
switch (arrayName) {
case "boolean":
@@ -167,12 +167,12 @@ public class EnhanceArraySerializer implements IEnhanceSerializer {
default:
}
var length = "length" + GenerateUtils.index.getAndIncrement();
var length = "length" + GenerateProtocolFile.index.getAndIncrement();
builder.append(StringUtils.format("int {} = {}.readInt($1);", length, EnhanceUtils.byteBufUtils));
builder.append(StringUtils.format("{}[] {} = new {}[{}];", arrayName, array, arrayName, length));
var i = "i" + GenerateUtils.index.getAndIncrement();
var i = "i" + GenerateProtocolFile.index.getAndIncrement();
builder.append(StringUtils.format("for(int {}=0; {} < {}; {}++){", i, i, length, i));
var readObject = EnhanceUtils.enhanceSerializer(arrayField.getArrayElementRegistration().serializer())
.readObject(builder, arrayField.getField(), arrayField.getArrayElementRegistration());
@@ -13,9 +13,9 @@
package com.zfoo.protocol.serializer.enhance;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.registration.EnhanceUtils;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.serializer.GenerateUtils;
import com.zfoo.protocol.util.StringUtils;
import java.lang.reflect.Field;
@@ -37,7 +37,7 @@ public class EnhanceBooleanSerializer implements IEnhanceSerializer {
@Override
public String readObject(StringBuilder builder, Field field, IFieldRegistration fieldRegistration) {
var result = "result" + GenerateUtils.index.getAndIncrement();
var result = "result" + GenerateProtocolFile.index.getAndIncrement();
if (field.getType().isPrimitive() || (field.getType().isArray() && field.getType().getComponentType().isPrimitive())) {
builder.append(StringUtils.format("boolean {} = {}.readBoolean($1);", result, EnhanceUtils.byteBufUtils));
@@ -13,9 +13,9 @@
package com.zfoo.protocol.serializer.enhance;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.registration.EnhanceUtils;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.serializer.GenerateUtils;
import com.zfoo.protocol.util.StringUtils;
import java.lang.reflect.Field;
@@ -37,7 +37,7 @@ public class EnhanceByteSerializer implements IEnhanceSerializer {
@Override
public String readObject(StringBuilder builder, Field field, IFieldRegistration fieldRegistration) {
var result = "result" + GenerateUtils.index.getAndIncrement();
var result = "result" + GenerateProtocolFile.index.getAndIncrement();
if (field.getType().isPrimitive() || (field.getType().isArray() && field.getType().getComponentType().isPrimitive())) {
builder.append(StringUtils.format("byte {} = {}.readByte($1);", result, EnhanceUtils.byteBufUtils));
@@ -13,9 +13,9 @@
package com.zfoo.protocol.serializer.enhance;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.registration.EnhanceUtils;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.serializer.GenerateUtils;
import com.zfoo.protocol.util.StringUtils;
import java.lang.reflect.Field;
@@ -37,7 +37,7 @@ public class EnhanceCharSerializer implements IEnhanceSerializer {
@Override
public String readObject(StringBuilder builder, Field field, IFieldRegistration fieldRegistration) {
var result = "result" + GenerateUtils.index.getAndIncrement();
var result = "result" + GenerateProtocolFile.index.getAndIncrement();
if (field.getType().isPrimitive() || (field.getType().isArray() && field.getType().getComponentType().isPrimitive())) {
builder.append(StringUtils.format("char {} = {}.readChar($1);", result, EnhanceUtils.byteBufUtils));
@@ -13,9 +13,9 @@
package com.zfoo.protocol.serializer.enhance;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.registration.EnhanceUtils;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.serializer.GenerateUtils;
import com.zfoo.protocol.util.StringUtils;
import java.lang.reflect.Field;
@@ -37,7 +37,7 @@ public class EnhanceDoubleSerializer implements IEnhanceSerializer {
@Override
public String readObject(StringBuilder builder, Field field, IFieldRegistration fieldRegistration) {
var result = "result" + GenerateUtils.index.getAndIncrement();
var result = "result" + GenerateProtocolFile.index.getAndIncrement();
if (field.getType().isPrimitive() || (field.getType().isArray() && field.getType().getComponentType().isPrimitive())) {
builder.append(StringUtils.format("double {} = {}.readDouble($1);", result, EnhanceUtils.byteBufUtils));
@@ -13,9 +13,9 @@
package com.zfoo.protocol.serializer.enhance;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.registration.EnhanceUtils;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.serializer.GenerateUtils;
import com.zfoo.protocol.util.StringUtils;
import java.lang.reflect.Field;
@@ -37,7 +37,7 @@ public class EnhanceFloatSerializer implements IEnhanceSerializer {
@Override
public String readObject(StringBuilder builder, Field field, IFieldRegistration fieldRegistration) {
var result = "result" + GenerateUtils.index.getAndIncrement();
var result = "result" + GenerateProtocolFile.index.getAndIncrement();
if (field.getType().isPrimitive() || (field.getType().isArray() && field.getType().getComponentType().isPrimitive())) {
builder.append(StringUtils.format("float {} = {}.readFloat($1);", result, EnhanceUtils.byteBufUtils));
@@ -13,9 +13,9 @@
package com.zfoo.protocol.serializer.enhance;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.registration.EnhanceUtils;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.serializer.GenerateUtils;
import com.zfoo.protocol.util.StringUtils;
import java.lang.reflect.Field;
@@ -37,7 +37,7 @@ public class EnhanceIntSerializer implements IEnhanceSerializer {
@Override
public String readObject(StringBuilder builder, Field field, IFieldRegistration fieldRegistration) {
var result = "result" + GenerateUtils.index.getAndIncrement();
var result = "result" + GenerateProtocolFile.index.getAndIncrement();
if (field.getType().isPrimitive() || (field.getType().isArray() && field.getType().getComponentType().isPrimitive())) {
builder.append(StringUtils.format("int {} = {}.readInt($1);", result, EnhanceUtils.byteBufUtils));
@@ -13,11 +13,11 @@
package com.zfoo.protocol.serializer.enhance;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.registration.EnhanceUtils;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.registration.field.ListField;
import com.zfoo.protocol.registration.field.ObjectProtocolField;
import com.zfoo.protocol.serializer.GenerateUtils;
import com.zfoo.protocol.util.StringUtils;
import java.lang.reflect.Field;
@@ -52,16 +52,16 @@ public class EnhanceListSerializer implements IEnhanceSerializer {
return;
}
var list = "list" + GenerateUtils.index.getAndIncrement();
var list = "list" + GenerateProtocolFile.index.getAndIncrement();
builder.append(StringUtils.format("List {} = (List){};", list, objectStr));
builder.append(StringUtils.format("{}.writeInt($1, CollectionUtils.size({}));", EnhanceUtils.byteBufUtils, list));
var iterator = "iterator" + GenerateUtils.index.getAndIncrement();
var iterator = "iterator" + GenerateProtocolFile.index.getAndIncrement();
builder.append(StringUtils.format("Iterator {} = CollectionUtils.iterator({});", iterator, list));
builder.append(StringUtils.format("while({}.hasNext()){", iterator));
var element = "element" + GenerateUtils.index.getAndIncrement();
var element = "element" + GenerateProtocolFile.index.getAndIncrement();
builder.append(StringUtils.format("Object {}={}.next();", element, iterator));
EnhanceUtils.enhanceSerializer(listField.getListElementRegistration().serializer())
.writeObject(builder, element, field, listField.getListElementRegistration());
@@ -72,7 +72,7 @@ public class EnhanceListSerializer implements IEnhanceSerializer {
@Override
public String readObject(StringBuilder builder, Field field, IFieldRegistration fieldRegistration) {
var listField = (ListField) fieldRegistration;
var list = "list" + GenerateUtils.index.getAndIncrement();
var list = "list" + GenerateProtocolFile.index.getAndIncrement();
switch (listField.getType().getTypeName()) {
case "java.util.List<java.lang.Integer>":
@@ -93,12 +93,12 @@ public class EnhanceListSerializer implements IEnhanceSerializer {
return list;
}
var size = "size" + GenerateUtils.index.getAndIncrement();
var size = "size" + GenerateProtocolFile.index.getAndIncrement();
builder.append(StringUtils.format("int {}={}.readInt($1);", size, EnhanceUtils.byteBufUtils));
builder.append(StringUtils.format("List {} = CollectionUtils.newFixedList({});", list, size));
var i = "i" + GenerateUtils.index.getAndIncrement();
var i = "i" + GenerateProtocolFile.index.getAndIncrement();
builder.append(StringUtils.format("for(int {}=0; {}<{}; {}++){", i, i, size, i));
var readObject = EnhanceUtils.enhanceSerializer(listField.getListElementRegistration().serializer()).readObject(builder, field, listField.getListElementRegistration());
@@ -13,9 +13,9 @@
package com.zfoo.protocol.serializer.enhance;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.registration.EnhanceUtils;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.serializer.GenerateUtils;
import com.zfoo.protocol.util.StringUtils;
import java.lang.reflect.Field;
@@ -37,7 +37,7 @@ public class EnhanceLongSerializer implements IEnhanceSerializer {
@Override
public String readObject(StringBuilder builder, Field field, IFieldRegistration fieldRegistration) {
var result = "result" + GenerateUtils.index.getAndIncrement();
var result = "result" + GenerateProtocolFile.index.getAndIncrement();
if (field.getType().isPrimitive() || (field.getType().isArray() && field.getType().getComponentType().isPrimitive())) {
builder.append(StringUtils.format("long {} = {}.readLong($1);", result, EnhanceUtils.byteBufUtils));
@@ -13,12 +13,16 @@
package com.zfoo.protocol.serializer.enhance;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.registration.EnhanceUtils;
import com.zfoo.protocol.registration.field.BaseField;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.registration.field.MapField;
import com.zfoo.protocol.registration.field.ObjectProtocolField;
import com.zfoo.protocol.serializer.*;
import com.zfoo.protocol.serializer.IntSerializer;
import com.zfoo.protocol.serializer.LongSerializer;
import com.zfoo.protocol.serializer.ObjectProtocolSerializer;
import com.zfoo.protocol.serializer.StringSerializer;
import com.zfoo.protocol.util.StringUtils;
import java.lang.reflect.Field;
@@ -69,21 +73,21 @@ public class EnhanceMapSerializer implements IEnhanceSerializer {
}
}
var map = "map" + GenerateUtils.index.getAndIncrement();
var map = "map" + GenerateProtocolFile.index.getAndIncrement();
builder.append(StringUtils.format("Map {} = (Map){};", map, objectStr));
builder.append(StringUtils.format("{}.writeInt($1, CollectionUtils.size({}));", EnhanceUtils.byteBufUtils, map));
var iterator = "iterator" + GenerateUtils.index.getAndIncrement();
var iterator = "iterator" + GenerateProtocolFile.index.getAndIncrement();
builder.append(StringUtils.format("Iterator {} = CollectionUtils.iterator({});", iterator, map));
builder.append(StringUtils.format("while({}.hasNext()) {", iterator));
var entry = "entry" + GenerateUtils.index.getAndIncrement();
var entry = "entry" + GenerateProtocolFile.index.getAndIncrement();
builder.append(StringUtils.format("{} {}=({}){}.next();", Map.Entry.class.getCanonicalName(), entry, Map.Entry.class.getCanonicalName(), iterator));
var key = "key" + GenerateUtils.index.getAndIncrement();
var key = "key" + GenerateProtocolFile.index.getAndIncrement();
builder.append(StringUtils.format("Object {} = {}.getKey();", key, entry));
var value = "value" + GenerateUtils.index.getAndIncrement();
var value = "value" + GenerateProtocolFile.index.getAndIncrement();
builder.append(StringUtils.format("Object {} = {}.getValue();", value, entry));
EnhanceUtils.enhanceSerializer(keyRegistration.serializer()).writeObject(builder, key, field, keyRegistration);
@@ -98,7 +102,7 @@ public class EnhanceMapSerializer implements IEnhanceSerializer {
var keyRegistration = mapField.getMapKeyRegistration();
var valueRegistration = mapField.getMapValueRegistration();
var map = "map" + GenerateUtils.index.getAndIncrement();
var map = "map" + GenerateProtocolFile.index.getAndIncrement();
if (keyRegistration instanceof BaseField) {
if (valueRegistration instanceof BaseField) {
@@ -133,11 +137,11 @@ public class EnhanceMapSerializer implements IEnhanceSerializer {
}
}
var size = "size" + GenerateUtils.index.getAndIncrement();
var size = "size" + GenerateProtocolFile.index.getAndIncrement();
builder.append(StringUtils.format("int {}={}.readInt($1);", size, EnhanceUtils.byteBufUtils));
builder.append(StringUtils.format("Map {} = CollectionUtils.newFixedMap({});", map, size));
var i = "i" + GenerateUtils.index.getAndIncrement();
var i = "i" + GenerateProtocolFile.index.getAndIncrement();
builder.append(StringUtils.format("for(int {}=0; {}<{}; {}++){", i, i, size, i));
var keyObject = EnhanceUtils.enhanceSerializer(keyRegistration.serializer()).readObject(builder, field, keyRegistration);
@@ -14,10 +14,10 @@
package com.zfoo.protocol.serializer.enhance;
import com.zfoo.protocol.ProtocolManager;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.registration.EnhanceUtils;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.registration.field.ObjectProtocolField;
import com.zfoo.protocol.serializer.GenerateUtils;
import com.zfoo.protocol.util.StringUtils;
import java.lang.reflect.Field;
@@ -39,7 +39,7 @@ public class EnhanceObjectProtocolSerializer implements IEnhanceSerializer {
@Override
public String readObject(StringBuilder builder, Field field, IFieldRegistration fieldRegistration) {
var objectProtocolField = (ObjectProtocolField) fieldRegistration;
var result = "result" + GenerateUtils.index.getAndIncrement();
var result = "result" + GenerateProtocolFile.index.getAndIncrement();
var protocolName = getProtocolClassCanonicalName(objectProtocolField.getProtocolId());
builder.append(StringUtils.format("{} {} = ({}){}.read($1);", protocolName, result, protocolName, EnhanceUtils.getProtocolRegistrationFieldNameByProtocolId(objectProtocolField.getProtocolId())));
return result;
@@ -13,11 +13,11 @@
package com.zfoo.protocol.serializer.enhance;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.registration.EnhanceUtils;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.registration.field.ObjectProtocolField;
import com.zfoo.protocol.registration.field.SetField;
import com.zfoo.protocol.serializer.GenerateUtils;
import com.zfoo.protocol.util.StringUtils;
import java.lang.reflect.Field;
@@ -52,16 +52,16 @@ public class EnhanceSetSerializer implements IEnhanceSerializer {
return;
}
var set = "set" + GenerateUtils.index.getAndIncrement();
var set = "set" + GenerateProtocolFile.index.getAndIncrement();
builder.append(StringUtils.format("Set {} = (Set){};", set, objectStr));
builder.append(StringUtils.format("{}.writeInt($1, CollectionUtils.size({}));", EnhanceUtils.byteBufUtils, set));
var iterator = "iterator" + GenerateUtils.index.getAndIncrement();
var iterator = "iterator" + GenerateProtocolFile.index.getAndIncrement();
builder.append(StringUtils.format("Iterator {} = CollectionUtils.iterator({});", iterator, set));
builder.append(StringUtils.format("while({}.hasNext()) {", iterator));
var element = "element" + GenerateUtils.index.getAndIncrement();
var element = "element" + GenerateProtocolFile.index.getAndIncrement();
builder.append(StringUtils.format("Object {}={}.next();", element, iterator));
EnhanceUtils.enhanceSerializer(setField.getSetElementRegistration().serializer())
.writeObject(builder, element, field, setField.getSetElementRegistration());
@@ -72,7 +72,7 @@ public class EnhanceSetSerializer implements IEnhanceSerializer {
@Override
public String readObject(StringBuilder builder, Field field, IFieldRegistration fieldRegistration) {
var setField = (SetField) fieldRegistration;
var set = "set" + GenerateUtils.index.getAndIncrement();
var set = "set" + GenerateProtocolFile.index.getAndIncrement();
switch (setField.getType().getTypeName()) {
case "java.util.Set<java.lang.Integer>":
@@ -93,11 +93,11 @@ public class EnhanceSetSerializer implements IEnhanceSerializer {
return set;
}
var size = "size" + GenerateUtils.index.getAndIncrement();
var size = "size" + GenerateProtocolFile.index.getAndIncrement();
builder.append(StringUtils.format("int {} = {}.readInt($1);", size, EnhanceUtils.byteBufUtils));
builder.append(StringUtils.format("Set {} = CollectionUtils.newFixedSet({});", set, size));
var i = "i" + GenerateUtils.index.getAndIncrement();
var i = "i" + GenerateProtocolFile.index.getAndIncrement();
builder.append(StringUtils.format("for(int {}=0; {}<{}; {}++){", i, i, size, i));
var readObject = EnhanceUtils.enhanceSerializer(setField.getSetElementRegistration().serializer()).readObject(builder, field, setField.getSetElementRegistration());
@@ -13,9 +13,9 @@
package com.zfoo.protocol.serializer.enhance;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.registration.EnhanceUtils;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.serializer.GenerateUtils;
import com.zfoo.protocol.util.StringUtils;
import java.lang.reflect.Field;
@@ -37,7 +37,7 @@ public class EnhanceShortSerializer implements IEnhanceSerializer {
@Override
public String readObject(StringBuilder builder, Field field, IFieldRegistration fieldRegistration) {
var result = "result" + GenerateUtils.index.getAndIncrement();
var result = "result" + GenerateProtocolFile.index.getAndIncrement();
if (field.getType().isPrimitive() || (field.getType().isArray() && field.getType().getComponentType().isPrimitive())) {
builder.append(StringUtils.format("short {} = {}.readShort($1);", result, EnhanceUtils.byteBufUtils));
@@ -13,9 +13,9 @@
package com.zfoo.protocol.serializer.enhance;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.registration.EnhanceUtils;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.serializer.GenerateUtils;
import com.zfoo.protocol.util.StringUtils;
import java.lang.reflect.Field;
@@ -33,7 +33,7 @@ public class EnhanceStringSerializer implements IEnhanceSerializer {
@Override
public String readObject(StringBuilder builder, Field field, IFieldRegistration fieldRegistration) {
var result = "result" + GenerateUtils.index.getAndIncrement();
var result = "result" + GenerateProtocolFile.index.getAndIncrement();
builder.append(StringUtils.format("String {} = {}.readString($1);", result, EnhanceUtils.byteBufUtils));
return result;
}
@@ -16,6 +16,7 @@ package com.zfoo.protocol.serializer.js;
import com.zfoo.protocol.ProtocolManager;
import com.zfoo.protocol.collection.CollectionUtils;
import com.zfoo.protocol.generate.GenerateProtocolDocument;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.generate.GenerateProtocolPath;
import com.zfoo.protocol.registration.IProtocolRegistration;
import com.zfoo.protocol.registration.ProtocolRegistration;
@@ -118,7 +119,7 @@ public abstract class GenerateJsUtils {
public static void createJsProtocolFile(ProtocolRegistration registration) {
// 初始化index
GenerateUtils.index.set(0);
GenerateProtocolFile.index.set(0);
var protocolId = registration.protocolId();
var registrationConstructor = registration.getConstructor();
@@ -13,9 +13,9 @@
package com.zfoo.protocol.serializer.js;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.registration.field.ArrayField;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.serializer.GenerateUtils;
import com.zfoo.protocol.util.StringUtils;
import java.lang.reflect.Field;
@@ -33,52 +33,52 @@ public class JsArraySerializer implements IJsSerializer {
public void writeObject(StringBuilder builder, String objectStr, int deep, Field field, IFieldRegistration fieldRegistration) {
ArrayField arrayField = (ArrayField) fieldRegistration;
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("if ({} === null) {", objectStr)).append(LS);
GenerateUtils.addTab(builder, deep + 1);
GenerateProtocolFile.addTab(builder, deep + 1);
builder.append("byteBuffer.writeInt(0);").append(LS);
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append("} else {").append(LS);
GenerateUtils.addTab(builder, deep + 1);
GenerateProtocolFile.addTab(builder, deep + 1);
builder.append(StringUtils.format("byteBuffer.writeInt({}.length);", objectStr)).append(LS);
String element = "element" + GenerateUtils.index.getAndIncrement();
GenerateUtils.addTab(builder, deep + 1);
String element = "element" + GenerateProtocolFile.index.getAndIncrement();
GenerateProtocolFile.addTab(builder, deep + 1);
builder.append(StringUtils.format("{}.forEach({} => {", objectStr, element)).append(LS);
GenerateJsUtils.jsSerializer(arrayField.getArrayElementRegistration().serializer())
.writeObject(builder, element, deep + 2, field, arrayField.getArrayElementRegistration());
GenerateUtils.addTab(builder, deep + 1);
GenerateProtocolFile.addTab(builder, deep + 1);
builder.append("});").append(LS);
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append("}").append(LS);
}
@Override
public String readObject(StringBuilder builder, int deep, Field field, IFieldRegistration fieldRegistration) {
ArrayField arrayField = (ArrayField) fieldRegistration;
String result = "result" + GenerateUtils.index.getAndIncrement();
String result = "result" + GenerateProtocolFile.index.getAndIncrement();
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("const {} = [];", result)).append(LS);
String i = "index" + GenerateUtils.index.getAndIncrement();
String size = "size" + GenerateUtils.index.getAndIncrement();
String i = "index" + GenerateProtocolFile.index.getAndIncrement();
String size = "size" + GenerateProtocolFile.index.getAndIncrement();
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("const {} = byteBuffer.readInt();", size)).append(LS);
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("if ({} > 0) {", size)).append(LS);
GenerateUtils.addTab(builder, deep + 1);
GenerateProtocolFile.addTab(builder, deep + 1);
builder.append(StringUtils.format("for (let {} = 0; {} < {}; {}++) {", i, i, size, i)).append(LS);
String readObject = GenerateJsUtils.jsSerializer(arrayField.getArrayElementRegistration().serializer())
.readObject(builder, deep + 2, field, arrayField.getArrayElementRegistration());
GenerateUtils.addTab(builder, deep + 2);
GenerateProtocolFile.addTab(builder, deep + 2);
builder.append(StringUtils.format("{}.push({});", result, readObject)).append(LS);
GenerateUtils.addTab(builder, deep + 1);
GenerateProtocolFile.addTab(builder, deep + 1);
builder.append("}").append(LS);
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append("}").append(LS);
@@ -13,8 +13,8 @@
package com.zfoo.protocol.serializer.js;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.serializer.GenerateUtils;
import com.zfoo.protocol.util.StringUtils;
import java.lang.reflect.Field;
@@ -30,15 +30,15 @@ public class JsBooleanSerializer implements IJsSerializer {
@Override
public void writeObject(StringBuilder builder, String objectStr, int deep, Field field, IFieldRegistration fieldRegistration) {
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("byteBuffer.writeBoolean({});", objectStr)).append(LS);
}
@Override
public String readObject(StringBuilder builder, int deep, Field field, IFieldRegistration fieldRegistration) {
String result = "result" + GenerateUtils.index.getAndIncrement();
String result = "result" + GenerateProtocolFile.index.getAndIncrement();
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("const {} = byteBuffer.readBoolean(); ", result)).append(LS);
return result;
}
@@ -13,8 +13,8 @@
package com.zfoo.protocol.serializer.js;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.serializer.GenerateUtils;
import com.zfoo.protocol.util.StringUtils;
import java.lang.reflect.Field;
@@ -30,15 +30,15 @@ public class JsByteSerializer implements IJsSerializer {
@Override
public void writeObject(StringBuilder builder, String objectStr, int deep, Field field, IFieldRegistration fieldRegistration) {
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("byteBuffer.writeByte({});", objectStr)).append(LS);
}
@Override
public String readObject(StringBuilder builder, int deep, Field field, IFieldRegistration fieldRegistration) {
String result = "result" + GenerateUtils.index.getAndIncrement();
String result = "result" + GenerateProtocolFile.index.getAndIncrement();
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("const {} = byteBuffer.readByte();", result)).append(LS);
return result;
}
@@ -13,8 +13,8 @@
package com.zfoo.protocol.serializer.js;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.serializer.GenerateUtils;
import com.zfoo.protocol.util.StringUtils;
import java.lang.reflect.Field;
@@ -29,14 +29,14 @@ public class JsCharSerializer implements IJsSerializer {
@Override
public void writeObject(StringBuilder builder, String objectStr, int deep, Field field, IFieldRegistration fieldRegistration) {
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("byteBuffer.writeChar({});", objectStr)).append(LS);
}
@Override
public String readObject(StringBuilder builder, int deep, Field field, IFieldRegistration fieldRegistration) {
String result = "result" + GenerateUtils.index.getAndIncrement();
GenerateUtils.addTab(builder, deep);
String result = "result" + GenerateProtocolFile.index.getAndIncrement();
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("const {} = byteBuffer.readChar();", result)).append(LS);
return result;
}
@@ -13,8 +13,8 @@
package com.zfoo.protocol.serializer.js;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.serializer.GenerateUtils;
import com.zfoo.protocol.util.StringUtils;
import java.lang.reflect.Field;
@@ -30,15 +30,15 @@ public class JsDoubleSerializer implements IJsSerializer {
@Override
public void writeObject(StringBuilder builder, String objectStr, int deep, Field field, IFieldRegistration fieldRegistration) {
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("byteBuffer.writeDouble({});", objectStr)).append(LS);
}
@Override
public String readObject(StringBuilder builder, int deep, Field field, IFieldRegistration fieldRegistration) {
String result = "result" + GenerateUtils.index.getAndIncrement();
String result = "result" + GenerateProtocolFile.index.getAndIncrement();
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("const {} = byteBuffer.readDouble();", result)).append(LS);
return result;
}
@@ -13,8 +13,8 @@
package com.zfoo.protocol.serializer.js;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.serializer.GenerateUtils;
import com.zfoo.protocol.util.StringUtils;
import java.lang.reflect.Field;
@@ -30,15 +30,15 @@ public class JsFloatSerializer implements IJsSerializer {
@Override
public void writeObject(StringBuilder builder, String objectStr, int deep, Field field, IFieldRegistration fieldRegistration) {
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("byteBuffer.writeFloat({});", objectStr)).append(LS);
}
@Override
public String readObject(StringBuilder builder, int deep, Field field, IFieldRegistration fieldRegistration) {
String result = "result" + GenerateUtils.index.getAndIncrement();
String result = "result" + GenerateProtocolFile.index.getAndIncrement();
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("const {} = byteBuffer.readFloat();", result)).append(LS);
return result;
}
@@ -13,8 +13,8 @@
package com.zfoo.protocol.serializer.js;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.serializer.GenerateUtils;
import com.zfoo.protocol.util.StringUtils;
import java.lang.reflect.Field;
@@ -29,15 +29,15 @@ public class JsIntSerializer implements IJsSerializer {
@Override
public void writeObject(StringBuilder builder, String objectStr, int deep, Field field, IFieldRegistration fieldRegistration) {
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("byteBuffer.writeInt({});", objectStr)).append(LS);
}
@Override
public String readObject(StringBuilder builder, int deep, Field field, IFieldRegistration fieldRegistration) {
String result = "result" + GenerateUtils.index.getAndIncrement();
String result = "result" + GenerateProtocolFile.index.getAndIncrement();
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("const {} = byteBuffer.readInt();", result)).append(LS);
return result;
}
@@ -13,9 +13,9 @@
package com.zfoo.protocol.serializer.js;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.registration.field.ListField;
import com.zfoo.protocol.serializer.GenerateUtils;
import com.zfoo.protocol.util.StringUtils;
import java.lang.reflect.Field;
@@ -32,52 +32,52 @@ public class JsListSerializer implements IJsSerializer {
public void writeObject(StringBuilder builder, String objectStr, int deep, Field field, IFieldRegistration fieldRegistration) {
ListField listField = (ListField) fieldRegistration;
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("if ({} === null) {", objectStr)).append(LS);
GenerateUtils.addTab(builder, deep + 1);
GenerateProtocolFile.addTab(builder, deep + 1);
builder.append("byteBuffer.writeInt(0);").append(LS);
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append("} else {").append(LS);
GenerateUtils.addTab(builder, deep + 1);
GenerateProtocolFile.addTab(builder, deep + 1);
builder.append(StringUtils.format("byteBuffer.writeInt({}.length);", objectStr)).append(LS);
String element = "element" + GenerateUtils.index.getAndIncrement();
GenerateUtils.addTab(builder, deep + 1);
String element = "element" + GenerateProtocolFile.index.getAndIncrement();
GenerateProtocolFile.addTab(builder, deep + 1);
builder.append(StringUtils.format("{}.forEach({} => {", objectStr, element)).append(LS);
GenerateJsUtils.jsSerializer(listField.getListElementRegistration().serializer())
.writeObject(builder, element, deep + 2, field, listField.getListElementRegistration());
GenerateUtils.addTab(builder, deep + 1);
GenerateProtocolFile.addTab(builder, deep + 1);
builder.append("});").append(LS);
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append("}").append(LS);
}
@Override
public String readObject(StringBuilder builder, int deep, Field field, IFieldRegistration fieldRegistration) {
ListField listField = (ListField) fieldRegistration;
String result = "result" + GenerateUtils.index.getAndIncrement();
String result = "result" + GenerateProtocolFile.index.getAndIncrement();
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("const {} = [];", result)).append(LS);
GenerateUtils.addTab(builder, deep);
String size = "size" + GenerateUtils.index.getAndIncrement();
GenerateProtocolFile.addTab(builder, deep);
String size = "size" + GenerateProtocolFile.index.getAndIncrement();
builder.append(StringUtils.format("const {} = byteBuffer.readInt();", size)).append(LS);
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("if ({} > 0) {", size)).append(LS);
GenerateUtils.addTab(builder, deep + 1);
String i = "index" + GenerateUtils.index.getAndIncrement();
GenerateProtocolFile.addTab(builder, deep + 1);
String i = "index" + GenerateProtocolFile.index.getAndIncrement();
builder.append(StringUtils.format("for (let {} = 0; {} < {}; {}++) {", i, i, size, i)).append(LS);
String readObject = GenerateJsUtils.jsSerializer(listField.getListElementRegistration().serializer())
.readObject(builder, deep + 2, field, listField.getListElementRegistration());
GenerateUtils.addTab(builder, deep + 2);
GenerateProtocolFile.addTab(builder, deep + 2);
builder.append(StringUtils.format("{}.push({});", result, readObject)).append(LS);
GenerateUtils.addTab(builder, deep + 1);
GenerateProtocolFile.addTab(builder, deep + 1);
builder.append("}").append(LS);
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append("}").append(LS);
@@ -13,8 +13,8 @@
package com.zfoo.protocol.serializer.js;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.serializer.GenerateUtils;
import com.zfoo.protocol.util.StringUtils;
import java.lang.reflect.Field;
@@ -29,15 +29,15 @@ public class JsLongSerializer implements IJsSerializer {
@Override
public void writeObject(StringBuilder builder, String objectStr, int deep, Field field, IFieldRegistration fieldRegistration) {
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("byteBuffer.writeLong({});", objectStr)).append(LS);
}
@Override
public String readObject(StringBuilder builder, int deep, Field field, IFieldRegistration fieldRegistration) {
String result = "result" + GenerateUtils.index.getAndIncrement();
String result = "result" + GenerateProtocolFile.index.getAndIncrement();
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("const {} = byteBuffer.readLong();", result)).append(LS);
return result;
}
@@ -13,9 +13,9 @@
package com.zfoo.protocol.serializer.js;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.registration.field.MapField;
import com.zfoo.protocol.serializer.GenerateUtils;
import com.zfoo.protocol.util.StringUtils;
import java.lang.reflect.Field;
@@ -32,49 +32,49 @@ public class JsMapSerializer implements IJsSerializer {
public void writeObject(StringBuilder builder, String objectStr, int deep, Field field, IFieldRegistration fieldRegistration) {
MapField mapField = (MapField) fieldRegistration;
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("if ({} === null) {", objectStr)).append(LS);
GenerateUtils.addTab(builder, deep + 1);
GenerateProtocolFile.addTab(builder, deep + 1);
builder.append("byteBuffer.writeInt(0);").append(LS);
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append("} else {").append(LS);
GenerateUtils.addTab(builder, deep + 1);
GenerateProtocolFile.addTab(builder, deep + 1);
builder.append(StringUtils.format("byteBuffer.writeInt({}.size);", objectStr)).append(LS);
String key = "key" + GenerateUtils.index.getAndIncrement();
String value = "value" + GenerateUtils.index.getAndIncrement();
String key = "key" + GenerateProtocolFile.index.getAndIncrement();
String value = "value" + GenerateProtocolFile.index.getAndIncrement();
GenerateUtils.addTab(builder, deep + 1);
GenerateProtocolFile.addTab(builder, deep + 1);
builder.append(StringUtils.format("{}.forEach(({}, {}) => {", objectStr, value, key)).append(LS);
GenerateJsUtils.jsSerializer(mapField.getMapKeyRegistration().serializer())
.writeObject(builder, key, deep + 2, field, mapField.getMapKeyRegistration());
GenerateJsUtils.jsSerializer(mapField.getMapValueRegistration().serializer())
.writeObject(builder, value, deep + 2, field, mapField.getMapValueRegistration());
GenerateUtils.addTab(builder, deep + 1);
GenerateProtocolFile.addTab(builder, deep + 1);
builder.append("});").append(LS);
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append("}").append(LS);
}
@Override
public String readObject(StringBuilder builder, int deep, Field field, IFieldRegistration fieldRegistration) {
MapField mapField = (MapField) fieldRegistration;
String result = "result" + GenerateUtils.index.getAndIncrement();
String result = "result" + GenerateProtocolFile.index.getAndIncrement();
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("const {} = new Map();", result)).append(LS);
GenerateUtils.addTab(builder, deep);
String size = "size" + GenerateUtils.index.getAndIncrement();
GenerateProtocolFile.addTab(builder, deep);
String size = "size" + GenerateProtocolFile.index.getAndIncrement();
builder.append(StringUtils.format("const {} = byteBuffer.readInt();", size)).append(LS);
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("if ({} > 0) {", size)).append(LS);
String i = "index" + GenerateUtils.index.getAndIncrement();
GenerateUtils.addTab(builder, deep + 1);
String i = "index" + GenerateProtocolFile.index.getAndIncrement();
GenerateProtocolFile.addTab(builder, deep + 1);
builder.append(StringUtils.format("for (let {} = 0; {} < {}; {}++) {", i, i, size, i)).append(LS);
String keyObject = GenerateJsUtils.jsSerializer(mapField.getMapKeyRegistration().serializer())
@@ -83,12 +83,12 @@ public class JsMapSerializer implements IJsSerializer {
String valueObject = GenerateJsUtils.jsSerializer(mapField.getMapValueRegistration().serializer())
.readObject(builder, deep + 2, field, mapField.getMapValueRegistration());
GenerateUtils.addTab(builder, deep + 2);
GenerateProtocolFile.addTab(builder, deep + 2);
builder.append(StringUtils.format("{}.set({}, {});", result, keyObject, valueObject)).append(LS);
GenerateUtils.addTab(builder, deep + 1);
GenerateProtocolFile.addTab(builder, deep + 1);
builder.append("}").append(LS);
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append("}").append(LS);
return result;
@@ -13,9 +13,9 @@
package com.zfoo.protocol.serializer.js;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.registration.field.ObjectProtocolField;
import com.zfoo.protocol.serializer.GenerateUtils;
import com.zfoo.protocol.util.StringUtils;
import java.lang.reflect.Field;
@@ -31,15 +31,15 @@ public class JsObjectProtocolSerializer implements IJsSerializer {
@Override
public void writeObject(StringBuilder builder, String objectStr, int deep, Field field, IFieldRegistration fieldRegistration) {
ObjectProtocolField objectProtocolField = (ObjectProtocolField) fieldRegistration;
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("ProtocolManager.getProtocol({}).writeObject(byteBuffer, {});", objectProtocolField.getProtocolId(), objectStr)).append(LS);
}
@Override
public String readObject(StringBuilder builder, int deep, Field field, IFieldRegistration fieldRegistration) {
ObjectProtocolField objectProtocolField = (ObjectProtocolField) fieldRegistration;
var result = "result" + GenerateUtils.index.getAndIncrement();
GenerateUtils.addTab(builder, deep);
var result = "result" + GenerateProtocolFile.index.getAndIncrement();
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("const {} = ProtocolManager.getProtocol({}).readObject(byteBuffer);", result, objectProtocolField.getProtocolId())).append(LS);
return result;
}
@@ -13,9 +13,9 @@
package com.zfoo.protocol.serializer.js;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.registration.field.SetField;
import com.zfoo.protocol.serializer.GenerateUtils;
import com.zfoo.protocol.util.StringUtils;
import java.lang.reflect.Field;
@@ -32,53 +32,53 @@ public class JsSetSerializer implements IJsSerializer {
public void writeObject(StringBuilder builder, String objectStr, int deep, Field field, IFieldRegistration fieldRegistration) {
SetField setField = (SetField) fieldRegistration;
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("if ({} === null) {", objectStr)).append(LS);
GenerateUtils.addTab(builder, deep + 1);
GenerateProtocolFile.addTab(builder, deep + 1);
builder.append("byteBuffer.writeInt(0);").append(LS);
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append("} else {").append(LS);
GenerateUtils.addTab(builder, deep + 1);
GenerateProtocolFile.addTab(builder, deep + 1);
builder.append(StringUtils.format("byteBuffer.writeInt({}.size);", objectStr)).append(LS);
String element = "element" + GenerateUtils.index.getAndIncrement();
GenerateUtils.addTab(builder, deep + 1);
String element = "element" + GenerateProtocolFile.index.getAndIncrement();
GenerateProtocolFile.addTab(builder, deep + 1);
builder.append(StringUtils.format("{}.forEach({} => {", objectStr, element)).append(LS);
GenerateJsUtils.jsSerializer(setField.getSetElementRegistration().serializer())
.writeObject(builder, element, deep + 2, field, setField.getSetElementRegistration());
GenerateUtils.addTab(builder, deep + 1);
GenerateProtocolFile.addTab(builder, deep + 1);
builder.append("});").append(LS);
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append("}").append(LS);
}
@Override
public String readObject(StringBuilder builder, int deep, Field field, IFieldRegistration fieldRegistration) {
SetField setField = (SetField) fieldRegistration;
String result = "result" + GenerateUtils.index.getAndIncrement();
String result = "result" + GenerateProtocolFile.index.getAndIncrement();
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("const {} = new Set();", result)).append(LS);
GenerateUtils.addTab(builder, deep);
String size = "size" + GenerateUtils.index.getAndIncrement();
GenerateProtocolFile.addTab(builder, deep);
String size = "size" + GenerateProtocolFile.index.getAndIncrement();
builder.append(StringUtils.format("const {} = byteBuffer.readInt();", size)).append(LS);
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("if ({} > 0) {", size)).append(LS);
GenerateUtils.addTab(builder, deep + 1);
String i = "index" + GenerateUtils.index.getAndIncrement();
GenerateProtocolFile.addTab(builder, deep + 1);
String i = "index" + GenerateProtocolFile.index.getAndIncrement();
builder.append(StringUtils.format("for (let {} = 0; {} < {}; {}++) {", i, i, size, i)).append(LS);
String readObject = GenerateJsUtils.jsSerializer(setField.getSetElementRegistration().serializer())
.readObject(builder, deep + 2, field, setField.getSetElementRegistration());
GenerateUtils.addTab(builder, deep + 2);
GenerateProtocolFile.addTab(builder, deep + 2);
builder.append(StringUtils.format("{}.add({});", result, readObject)).append(LS);
GenerateUtils.addTab(builder, deep + 1);
GenerateProtocolFile.addTab(builder, deep + 1);
builder.append("}").append(LS);
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append("}").append(LS);
return result;
@@ -13,8 +13,8 @@
package com.zfoo.protocol.serializer.js;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.serializer.GenerateUtils;
import com.zfoo.protocol.util.StringUtils;
import java.lang.reflect.Field;
@@ -30,15 +30,15 @@ public class JsShortSerializer implements IJsSerializer {
@Override
public void writeObject(StringBuilder builder, String objectStr, int deep, Field field, IFieldRegistration fieldRegistration) {
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("byteBuffer.writeShort({});", objectStr)).append(LS);
}
@Override
public String readObject(StringBuilder builder, int deep, Field field, IFieldRegistration fieldRegistration) {
String result = "result" + GenerateUtils.index.getAndIncrement();
String result = "result" + GenerateProtocolFile.index.getAndIncrement();
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("const {} = byteBuffer.readShort();", result)).append(LS);
return result;
}
@@ -13,8 +13,8 @@
package com.zfoo.protocol.serializer.js;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.serializer.GenerateUtils;
import com.zfoo.protocol.util.StringUtils;
import java.lang.reflect.Field;
@@ -29,14 +29,14 @@ public class JsStringSerializer implements IJsSerializer {
@Override
public void writeObject(StringBuilder builder, String objectStr, int deep, Field field, IFieldRegistration fieldRegistration) {
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("byteBuffer.writeString({});", objectStr)).append(LS);
}
@Override
public String readObject(StringBuilder builder, int deep, Field field, IFieldRegistration fieldRegistration) {
String result = "result" + GenerateUtils.index.getAndIncrement();
GenerateUtils.addTab(builder, deep);
String result = "result" + GenerateProtocolFile.index.getAndIncrement();
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("const {} = byteBuffer.readString();", result)).append(LS);
return result;
}
@@ -16,6 +16,7 @@ package com.zfoo.protocol.serializer.lua;
import com.zfoo.protocol.ProtocolManager;
import com.zfoo.protocol.collection.CollectionUtils;
import com.zfoo.protocol.generate.GenerateProtocolDocument;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.generate.GenerateProtocolPath;
import com.zfoo.protocol.registration.IProtocolRegistration;
import com.zfoo.protocol.registration.ProtocolRegistration;
@@ -116,7 +117,7 @@ public abstract class GenerateLuaUtils {
public static void createLuaProtocolFile(ProtocolRegistration registration) {
// 初始化index
GenerateUtils.index.set(0);
GenerateProtocolFile.index.set(0);
var protocolId = registration.protocolId();
var registrationConstructor = registration.getConstructor();
@@ -13,9 +13,9 @@
package com.zfoo.protocol.serializer.lua;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.registration.field.ArrayField;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.serializer.GenerateUtils;
import com.zfoo.protocol.util.StringUtils;
import java.lang.reflect.Field;
@@ -33,53 +33,53 @@ public class LuaArraySerializer implements ILuaSerializer {
public void writeObject(StringBuilder builder, String objectStr, int deep, Field field, IFieldRegistration fieldRegistration) {
ArrayField arrayField = (ArrayField) fieldRegistration;
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("if {} == null then", objectStr)).append(LS);
GenerateUtils.addTab(builder, deep + 1);
GenerateProtocolFile.addTab(builder, deep + 1);
builder.append("byteBuffer:writeInt(0)").append(LS);
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append("else").append(LS);
GenerateUtils.addTab(builder, deep + 1);
GenerateProtocolFile.addTab(builder, deep + 1);
builder.append(StringUtils.format("byteBuffer:writeInt(#{});", objectStr)).append(LS);
String index = "index" + GenerateUtils.index.getAndIncrement();
String element = "element" + GenerateUtils.index.getAndIncrement();
GenerateUtils.addTab(builder, deep + 1);
String index = "index" + GenerateProtocolFile.index.getAndIncrement();
String element = "element" + GenerateProtocolFile.index.getAndIncrement();
GenerateProtocolFile.addTab(builder, deep + 1);
builder.append(StringUtils.format("for {}, {} in pairs({}) do", index, element, objectStr)).append(LS);
GenerateLuaUtils.luaSerializer(arrayField.getArrayElementRegistration().serializer())
.writeObject(builder, element, deep + 2, field, arrayField.getArrayElementRegistration());
GenerateUtils.addTab(builder, deep + 1);
GenerateProtocolFile.addTab(builder, deep + 1);
builder.append("end").append(LS);
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append("end").append(LS);
}
@Override
public String readObject(StringBuilder builder, int deep, Field field, IFieldRegistration fieldRegistration) {
var arrayField = (ArrayField) fieldRegistration;
var result = "result" + GenerateUtils.index.getAndIncrement();
var result = "result" + GenerateProtocolFile.index.getAndIncrement();
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("local {} = {}", result)).append(LS);
var i = "index" + GenerateUtils.index.getAndIncrement();
var size = "size" + GenerateUtils.index.getAndIncrement();
var i = "index" + GenerateProtocolFile.index.getAndIncrement();
var size = "size" + GenerateProtocolFile.index.getAndIncrement();
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("local {} = byteBuffer:readInt()", size)).append(LS);
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("if {} > 0 then", size)).append(LS);
GenerateUtils.addTab(builder, deep + 1);
GenerateProtocolFile.addTab(builder, deep + 1);
builder.append(StringUtils.format("for {} = 1, {} do", i, size)).append(LS);
String readObject = GenerateLuaUtils.luaSerializer(arrayField.getArrayElementRegistration().serializer())
.readObject(builder, deep + 2, field, arrayField.getArrayElementRegistration());
GenerateUtils.addTab(builder, deep + 2);
GenerateProtocolFile.addTab(builder, deep + 2);
builder.append(StringUtils.format("table.insert({}, {})", result, readObject)).append(LS);
GenerateUtils.addTab(builder, deep + 1);
GenerateProtocolFile.addTab(builder, deep + 1);
builder.append("end").append(LS);
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append("end").append(LS);
return result;
@@ -13,8 +13,8 @@
package com.zfoo.protocol.serializer.lua;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.serializer.GenerateUtils;
import com.zfoo.protocol.util.StringUtils;
import java.lang.reflect.Field;
@@ -30,15 +30,15 @@ public class LuaBooleanSerializer implements ILuaSerializer {
@Override
public void writeObject(StringBuilder builder, String objectStr, int deep, Field field, IFieldRegistration fieldRegistration) {
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("byteBuffer:writeBoolean({})", objectStr)).append(LS);
}
@Override
public String readObject(StringBuilder builder, int deep, Field field, IFieldRegistration fieldRegistration) {
String result = "result" + GenerateUtils.index.getAndIncrement();
String result = "result" + GenerateProtocolFile.index.getAndIncrement();
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("local {} = byteBuffer:readBoolean()", result)).append(LS);
return result;
}
@@ -13,8 +13,8 @@
package com.zfoo.protocol.serializer.lua;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.serializer.GenerateUtils;
import com.zfoo.protocol.util.StringUtils;
import java.lang.reflect.Field;
@@ -30,15 +30,15 @@ public class LuaByteSerializer implements ILuaSerializer {
@Override
public void writeObject(StringBuilder builder, String objectStr, int deep, Field field, IFieldRegistration fieldRegistration) {
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("byteBuffer:writeByte({})", objectStr)).append(LS);
}
@Override
public String readObject(StringBuilder builder, int deep, Field field, IFieldRegistration fieldRegistration) {
String result = "result" + GenerateUtils.index.getAndIncrement();
String result = "result" + GenerateProtocolFile.index.getAndIncrement();
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("local {} = byteBuffer:readByte()", result)).append(LS);
return result;
}
@@ -13,8 +13,8 @@
package com.zfoo.protocol.serializer.lua;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.serializer.GenerateUtils;
import com.zfoo.protocol.util.StringUtils;
import java.lang.reflect.Field;
@@ -29,14 +29,14 @@ public class LuaCharSerializer implements ILuaSerializer {
@Override
public void writeObject(StringBuilder builder, String objectStr, int deep, Field field, IFieldRegistration fieldRegistration) {
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("byteBuffer:writeChar({})", objectStr)).append(LS);
}
@Override
public String readObject(StringBuilder builder, int deep, Field field, IFieldRegistration fieldRegistration) {
String result = "result" + GenerateUtils.index.getAndIncrement();
GenerateUtils.addTab(builder, deep);
String result = "result" + GenerateProtocolFile.index.getAndIncrement();
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("local {} = byteBuffer:readChar()", result)).append(LS);
return result;
}
@@ -13,8 +13,8 @@
package com.zfoo.protocol.serializer.lua;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.serializer.GenerateUtils;
import com.zfoo.protocol.util.StringUtils;
import java.lang.reflect.Field;
@@ -30,15 +30,15 @@ public class LuaDoubleSerializer implements ILuaSerializer {
@Override
public void writeObject(StringBuilder builder, String objectStr, int deep, Field field, IFieldRegistration fieldRegistration) {
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("byteBuffer:writeDouble({})", objectStr)).append(LS);
}
@Override
public String readObject(StringBuilder builder, int deep, Field field, IFieldRegistration fieldRegistration) {
String result = "result" + GenerateUtils.index.getAndIncrement();
String result = "result" + GenerateProtocolFile.index.getAndIncrement();
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("local {} = byteBuffer:readDouble()", result)).append(LS);
return result;
}
@@ -13,8 +13,8 @@
package com.zfoo.protocol.serializer.lua;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.serializer.GenerateUtils;
import com.zfoo.protocol.util.StringUtils;
import java.lang.reflect.Field;
@@ -30,15 +30,15 @@ public class LuaFloatSerializer implements ILuaSerializer {
@Override
public void writeObject(StringBuilder builder, String objectStr, int deep, Field field, IFieldRegistration fieldRegistration) {
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("byteBuffer:writeFloat({})", objectStr)).append(LS);
}
@Override
public String readObject(StringBuilder builder, int deep, Field field, IFieldRegistration fieldRegistration) {
String result = "result" + GenerateUtils.index.getAndIncrement();
String result = "result" + GenerateProtocolFile.index.getAndIncrement();
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("local {} = byteBuffer:readFloat()", result)).append(LS);
return result;
}
@@ -13,8 +13,8 @@
package com.zfoo.protocol.serializer.lua;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.serializer.GenerateUtils;
import com.zfoo.protocol.util.StringUtils;
import java.lang.reflect.Field;
@@ -29,15 +29,15 @@ public class LuaIntSerializer implements ILuaSerializer {
@Override
public void writeObject(StringBuilder builder, String objectStr, int deep, Field field, IFieldRegistration fieldRegistration) {
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("byteBuffer:writeInt({})", objectStr)).append(LS);
}
@Override
public String readObject(StringBuilder builder, int deep, Field field, IFieldRegistration fieldRegistration) {
String result = "result" + GenerateUtils.index.getAndIncrement();
String result = "result" + GenerateProtocolFile.index.getAndIncrement();
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("local {} = byteBuffer:readInt()", result)).append(LS);
return result;
}
@@ -13,9 +13,9 @@
package com.zfoo.protocol.serializer.lua;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.registration.field.ListField;
import com.zfoo.protocol.serializer.GenerateUtils;
import com.zfoo.protocol.util.StringUtils;
import java.lang.reflect.Field;
@@ -32,53 +32,53 @@ public class LuaListSerializer implements ILuaSerializer {
public void writeObject(StringBuilder builder, String objectStr, int deep, Field field, IFieldRegistration fieldRegistration) {
ListField listField = (ListField) fieldRegistration;
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("if {} == null then", objectStr)).append(LS);
GenerateUtils.addTab(builder, deep + 1);
GenerateProtocolFile.addTab(builder, deep + 1);
builder.append("byteBuffer:writeInt(0)").append(LS);
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append("else").append(LS);
GenerateUtils.addTab(builder, deep + 1);
GenerateProtocolFile.addTab(builder, deep + 1);
builder.append(StringUtils.format("byteBuffer:writeInt(#{})", objectStr)).append(LS);
String index = "index" + GenerateUtils.index.getAndIncrement();
String element = "element" + GenerateUtils.index.getAndIncrement();
GenerateUtils.addTab(builder, deep + 1);
String index = "index" + GenerateProtocolFile.index.getAndIncrement();
String element = "element" + GenerateProtocolFile.index.getAndIncrement();
GenerateProtocolFile.addTab(builder, deep + 1);
builder.append(StringUtils.format("for {}, {} in pairs({}) do", index, element, objectStr)).append(LS);
GenerateLuaUtils.luaSerializer(listField.getListElementRegistration().serializer())
.writeObject(builder, element, deep + 2, field, listField.getListElementRegistration());
GenerateUtils.addTab(builder, deep + 1);
GenerateProtocolFile.addTab(builder, deep + 1);
builder.append("end").append(LS);
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append("end").append(LS);
}
@Override
public String readObject(StringBuilder builder, int deep, Field field, IFieldRegistration fieldRegistration) {
ListField listField = (ListField) fieldRegistration;
String result = "result" + GenerateUtils.index.getAndIncrement();
String result = "result" + GenerateProtocolFile.index.getAndIncrement();
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("local {} = {}", result)).append(LS);
GenerateUtils.addTab(builder, deep);
String size = "size" + GenerateUtils.index.getAndIncrement();
GenerateProtocolFile.addTab(builder, deep);
String size = "size" + GenerateProtocolFile.index.getAndIncrement();
builder.append(StringUtils.format("local {} = byteBuffer:readInt()", size)).append(LS);
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("if {} > 0 then", size)).append(LS);
GenerateUtils.addTab(builder, deep + 1);
String i = "index" + GenerateUtils.index.getAndIncrement();
GenerateProtocolFile.addTab(builder, deep + 1);
String i = "index" + GenerateProtocolFile.index.getAndIncrement();
builder.append(StringUtils.format("for {} = 1, {} do", i, size)).append(LS);
String readObject = GenerateLuaUtils.luaSerializer(listField.getListElementRegistration().serializer())
.readObject(builder, deep + 2, field, listField.getListElementRegistration());
GenerateUtils.addTab(builder, deep + 2);
GenerateProtocolFile.addTab(builder, deep + 2);
builder.append(StringUtils.format("table.insert({}, {})", result, readObject)).append(LS);
GenerateUtils.addTab(builder, deep + 1);
GenerateProtocolFile.addTab(builder, deep + 1);
builder.append("end").append(LS);
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append("end").append(LS);
return result;
@@ -13,8 +13,8 @@
package com.zfoo.protocol.serializer.lua;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.serializer.GenerateUtils;
import com.zfoo.protocol.util.StringUtils;
import java.lang.reflect.Field;
@@ -29,15 +29,15 @@ public class LuaLongSerializer implements ILuaSerializer {
@Override
public void writeObject(StringBuilder builder, String objectStr, int deep, Field field, IFieldRegistration fieldRegistration) {
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("byteBuffer:writeLong({})", objectStr)).append(LS);
}
@Override
public String readObject(StringBuilder builder, int deep, Field field, IFieldRegistration fieldRegistration) {
String result = "result" + GenerateUtils.index.getAndIncrement();
String result = "result" + GenerateProtocolFile.index.getAndIncrement();
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("local {} = byteBuffer:readLong()", result)).append(LS);
return result;
}
@@ -13,9 +13,9 @@
package com.zfoo.protocol.serializer.lua;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.registration.field.MapField;
import com.zfoo.protocol.serializer.GenerateUtils;
import com.zfoo.protocol.util.StringUtils;
import java.lang.reflect.Field;
@@ -32,49 +32,49 @@ public class LuaMapSerializer implements ILuaSerializer {
public void writeObject(StringBuilder builder, String objectStr, int deep, Field field, IFieldRegistration fieldRegistration) {
MapField mapField = (MapField) fieldRegistration;
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("if {} == null then", objectStr)).append(LS);
GenerateUtils.addTab(builder, deep + 1);
GenerateProtocolFile.addTab(builder, deep + 1);
builder.append("byteBuffer:writeInt(0)").append(LS);
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append("else").append(LS);
GenerateUtils.addTab(builder, deep + 1);
GenerateProtocolFile.addTab(builder, deep + 1);
builder.append(StringUtils.format("byteBuffer:writeInt(table.mapSize({}))", objectStr)).append(LS);
String key = "key" + GenerateUtils.index.getAndIncrement();
String value = "value" + GenerateUtils.index.getAndIncrement();
String key = "key" + GenerateProtocolFile.index.getAndIncrement();
String value = "value" + GenerateProtocolFile.index.getAndIncrement();
GenerateUtils.addTab(builder, deep + 1);
GenerateProtocolFile.addTab(builder, deep + 1);
builder.append(StringUtils.format("for {}, {} in pairs({}) do", key, value, objectStr)).append(LS);
GenerateLuaUtils.luaSerializer(mapField.getMapKeyRegistration().serializer())
.writeObject(builder, key, deep + 2, field, mapField.getMapKeyRegistration());
GenerateLuaUtils.luaSerializer(mapField.getMapValueRegistration().serializer())
.writeObject(builder, value, deep + 2, field, mapField.getMapValueRegistration());
GenerateUtils.addTab(builder, deep + 1);
GenerateProtocolFile.addTab(builder, deep + 1);
builder.append("end").append(LS);
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append("end").append(LS);
}
@Override
public String readObject(StringBuilder builder, int deep, Field field, IFieldRegistration fieldRegistration) {
MapField mapField = (MapField) fieldRegistration;
String result = "result" + GenerateUtils.index.getAndIncrement();
String result = "result" + GenerateProtocolFile.index.getAndIncrement();
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("local {} = {}", result)).append(LS);
GenerateUtils.addTab(builder, deep);
String size = "size" + GenerateUtils.index.getAndIncrement();
GenerateProtocolFile.addTab(builder, deep);
String size = "size" + GenerateProtocolFile.index.getAndIncrement();
builder.append(StringUtils.format("local {} = byteBuffer:readInt()", size)).append(LS);
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("if {} > 0 then", size)).append(LS);
String i = "index" + GenerateUtils.index.getAndIncrement();
GenerateUtils.addTab(builder, deep + 1);
String i = "index" + GenerateProtocolFile.index.getAndIncrement();
GenerateProtocolFile.addTab(builder, deep + 1);
builder.append(StringUtils.format("for {} = 1, {} do", i, size, i)).append(LS);
String keyObject = GenerateLuaUtils.luaSerializer(mapField.getMapKeyRegistration().serializer())
@@ -83,12 +83,12 @@ public class LuaMapSerializer implements ILuaSerializer {
String valueObject = GenerateLuaUtils.luaSerializer(mapField.getMapValueRegistration().serializer())
.readObject(builder, deep + 2, field, mapField.getMapValueRegistration());
GenerateUtils.addTab(builder, deep + 2);
GenerateProtocolFile.addTab(builder, deep + 2);
builder.append(StringUtils.format("{}[{}] = {}", result, keyObject, valueObject)).append(LS);
GenerateUtils.addTab(builder, deep + 1);
GenerateProtocolFile.addTab(builder, deep + 1);
builder.append("end").append(LS);
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append("end").append(LS);
return result;
@@ -12,9 +12,9 @@
package com.zfoo.protocol.serializer.lua;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.registration.field.ObjectProtocolField;
import com.zfoo.protocol.serializer.GenerateUtils;
import com.zfoo.protocol.util.StringUtils;
import java.lang.reflect.Field;
@@ -30,15 +30,15 @@ public class LuaObjectProtocolSerializer implements ILuaSerializer {
@Override
public void writeObject(StringBuilder builder, String objectStr, int deep, Field field, IFieldRegistration fieldRegistration) {
ObjectProtocolField objectProtocolField = (ObjectProtocolField) fieldRegistration;
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("ProtocolManager.getProtocol({}):write(byteBuffer, {})", objectProtocolField.getProtocolId(), objectStr)).append(LS);
}
@Override
public String readObject(StringBuilder builder, int deep, Field field, IFieldRegistration fieldRegistration) {
ObjectProtocolField objectProtocolField = (ObjectProtocolField) fieldRegistration;
var result = "result" + GenerateUtils.index.getAndIncrement();
GenerateUtils.addTab(builder, deep);
var result = "result" + GenerateProtocolFile.index.getAndIncrement();
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("local {} = ProtocolManager.getProtocol({}):read(byteBuffer)", result, objectProtocolField.getProtocolId())).append(LS);
return result;
}
@@ -13,9 +13,9 @@
package com.zfoo.protocol.serializer.lua;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.registration.field.SetField;
import com.zfoo.protocol.serializer.GenerateUtils;
import com.zfoo.protocol.util.StringUtils;
import java.lang.reflect.Field;
@@ -32,54 +32,54 @@ public class LuaSetSerializer implements ILuaSerializer {
public void writeObject(StringBuilder builder, String objectStr, int deep, Field field, IFieldRegistration fieldRegistration) {
SetField setField = (SetField) fieldRegistration;
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("if {} == null then", objectStr)).append(LS);
GenerateUtils.addTab(builder, deep + 1);
GenerateProtocolFile.addTab(builder, deep + 1);
builder.append("byteBuffer:writeInt(0)").append(LS);
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append("else").append(LS);
GenerateUtils.addTab(builder, deep + 1);
GenerateProtocolFile.addTab(builder, deep + 1);
builder.append(StringUtils.format("byteBuffer:writeInt(table.setSize({}))", objectStr)).append(LS);
String index = "index" + GenerateUtils.index.getAndIncrement();
String element = "element" + GenerateUtils.index.getAndIncrement();
GenerateUtils.addTab(builder, deep + 1);
String index = "index" + GenerateProtocolFile.index.getAndIncrement();
String element = "element" + GenerateProtocolFile.index.getAndIncrement();
GenerateProtocolFile.addTab(builder, deep + 1);
builder.append(StringUtils.format("for {}, {} in pairs({}) do", index, element, objectStr)).append(LS);
GenerateLuaUtils.luaSerializer(setField.getSetElementRegistration().serializer())
.writeObject(builder, element, deep + 2, field, setField.getSetElementRegistration());
GenerateUtils.addTab(builder, deep + 1);
GenerateProtocolFile.addTab(builder, deep + 1);
builder.append("end").append(LS);
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append("end").append(LS);
}
@Override
public String readObject(StringBuilder builder, int deep, Field field, IFieldRegistration fieldRegistration) {
SetField setField = (SetField) fieldRegistration;
String result = "result" + GenerateUtils.index.getAndIncrement();
String result = "result" + GenerateProtocolFile.index.getAndIncrement();
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("local {} = {}", result)).append(LS);
GenerateUtils.addTab(builder, deep);
String size = "size" + GenerateUtils.index.getAndIncrement();
GenerateProtocolFile.addTab(builder, deep);
String size = "size" + GenerateProtocolFile.index.getAndIncrement();
builder.append(StringUtils.format("local {} = byteBuffer:readInt()", size)).append(LS);
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("if {} > 0 then", size)).append(LS);
GenerateUtils.addTab(builder, deep + 1);
String i = "index" + GenerateUtils.index.getAndIncrement();
GenerateProtocolFile.addTab(builder, deep + 1);
String i = "index" + GenerateProtocolFile.index.getAndIncrement();
builder.append(StringUtils.format("for {} = 1, {} do", i, size)).append(LS);
String readObject = GenerateLuaUtils.luaSerializer(setField.getSetElementRegistration().serializer())
.readObject(builder, deep + 2, field, setField.getSetElementRegistration());
GenerateUtils.addTab(builder, deep + 2);
GenerateProtocolFile.addTab(builder, deep + 2);
builder.append(StringUtils.format("{}[{}] = {}", result, readObject, readObject)).append(LS);
GenerateUtils.addTab(builder, deep + 1);
GenerateProtocolFile.addTab(builder, deep + 1);
builder.append("end").append(LS);
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append("end").append(LS);
return result;
@@ -13,8 +13,8 @@
package com.zfoo.protocol.serializer.lua;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.serializer.GenerateUtils;
import com.zfoo.protocol.util.StringUtils;
import java.lang.reflect.Field;
@@ -30,15 +30,15 @@ public class LuaShortSerializer implements ILuaSerializer {
@Override
public void writeObject(StringBuilder builder, String objectStr, int deep, Field field, IFieldRegistration fieldRegistration) {
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("byteBuffer:writeShort({})", objectStr)).append(LS);
}
@Override
public String readObject(StringBuilder builder, int deep, Field field, IFieldRegistration fieldRegistration) {
String result = "result" + GenerateUtils.index.getAndIncrement();
String result = "result" + GenerateProtocolFile.index.getAndIncrement();
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("local {} = byteBuffer:readShort()", result)).append(LS);
return result;
}
@@ -13,8 +13,8 @@
package com.zfoo.protocol.serializer.lua;
import com.zfoo.protocol.generate.GenerateProtocolFile;
import com.zfoo.protocol.registration.field.IFieldRegistration;
import com.zfoo.protocol.serializer.GenerateUtils;
import com.zfoo.protocol.util.StringUtils;
import java.lang.reflect.Field;
@@ -29,14 +29,14 @@ public class LuaStringSerializer implements ILuaSerializer {
@Override
public void writeObject(StringBuilder builder, String objectStr, int deep, Field field, IFieldRegistration fieldRegistration) {
GenerateUtils.addTab(builder, deep);
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("byteBuffer:writeString({})", objectStr)).append(LS);
}
@Override
public String readObject(StringBuilder builder, int deep, Field field, IFieldRegistration fieldRegistration) {
String result = "result" + GenerateUtils.index.getAndIncrement();
GenerateUtils.addTab(builder, deep);
String result = "result" + GenerateProtocolFile.index.getAndIncrement();
GenerateProtocolFile.addTab(builder, deep);
builder.append(StringUtils.format("local {} = byteBuffer:readString()", result)).append(LS);
return result;
}