mirror of
https://github.com/tiennm99/zfoo.git
synced 2026-08-18 04:28:40 +00:00
perf[protocol]: 删除生成协议文件多余的类
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
+4
-4
@@ -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();
|
||||
|
||||
+8
-8
@@ -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());
|
||||
|
||||
+2
-2
@@ -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));
|
||||
|
||||
+2
-2
@@ -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));
|
||||
|
||||
+2
-2
@@ -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));
|
||||
|
||||
+2
-2
@@ -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));
|
||||
|
||||
+2
-2
@@ -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));
|
||||
|
||||
+2
-2
@@ -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));
|
||||
|
||||
+7
-7
@@ -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());
|
||||
|
||||
+2
-2
@@ -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
-9
@@ -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);
|
||||
|
||||
+2
-2
@@ -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;
|
||||
|
||||
+7
-7
@@ -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());
|
||||
|
||||
+2
-2
@@ -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));
|
||||
|
||||
+2
-2
@@ -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;
|
||||
|
||||
+4
-4
@@ -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;
|
||||
|
||||
+4
-4
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user