diff --git a/protocol/src/main/java/com/zfoo/protocol/serializer/CutDownArraySerializer.java b/protocol/src/main/java/com/zfoo/protocol/serializer/CutDownArraySerializer.java index 36d98f1e..ae094120 100644 --- a/protocol/src/main/java/com/zfoo/protocol/serializer/CutDownArraySerializer.java +++ b/protocol/src/main/java/com/zfoo/protocol/serializer/CutDownArraySerializer.java @@ -68,7 +68,7 @@ public class CutDownArraySerializer implements ICutDownSerializer { case Golang: builder.append(StringUtils.format("buffer.WriteBoolArray({})", objectStr)).append(LS); break; - case Cpp, Java, JavaScript, EcmaScript, TypeScript: + case Cpp, Java, Dart, JavaScript, EcmaScript, TypeScript: builder.append(StringUtils.format("buffer.writeBoolArray({});", objectStr)).append(LS); break; default: @@ -98,7 +98,7 @@ public class CutDownArraySerializer implements ICutDownSerializer { case Golang: builder.append(StringUtils.format("buffer.WriteBoolArray({})", objectStr)).append(LS); break; - case Cpp, JavaScript, EcmaScript, TypeScript: + case Cpp, Dart, JavaScript, EcmaScript, TypeScript: builder.append(StringUtils.format("buffer.writeBoolArray({});", objectStr)).append(LS); break; default: @@ -128,7 +128,7 @@ public class CutDownArraySerializer implements ICutDownSerializer { case Golang: builder.append(StringUtils.format("buffer.WriteByteArray({})", objectStr)).append(LS); break; - case Cpp, Java, JavaScript, EcmaScript, TypeScript: + case Cpp, Java, Dart, JavaScript, EcmaScript, TypeScript: builder.append(StringUtils.format("buffer.writeByteArray({});", objectStr)).append(LS); break; default: @@ -158,7 +158,7 @@ public class CutDownArraySerializer implements ICutDownSerializer { case Golang: builder.append(StringUtils.format("buffer.WriteByteArray({})", objectStr)).append(LS); break; - case Cpp, JavaScript, EcmaScript, TypeScript: + case Cpp, Dart, JavaScript, EcmaScript, TypeScript: builder.append(StringUtils.format("buffer.writeByteArray({});", objectStr)).append(LS); break; default: @@ -188,7 +188,7 @@ public class CutDownArraySerializer implements ICutDownSerializer { case Golang: builder.append(StringUtils.format("buffer.WriteShortArray({})", objectStr)).append(LS); break; - case Cpp, Java, JavaScript, EcmaScript, TypeScript: + case Cpp, Java, Dart, JavaScript, EcmaScript, TypeScript: builder.append(StringUtils.format("buffer.writeShortArray({});", objectStr)).append(LS); break; default: @@ -218,7 +218,7 @@ public class CutDownArraySerializer implements ICutDownSerializer { case Golang: builder.append(StringUtils.format("buffer.WriteShortArray({})", objectStr)).append(LS); break; - case Cpp, JavaScript, EcmaScript, TypeScript: + case Cpp, Dart, JavaScript, EcmaScript, TypeScript: builder.append(StringUtils.format("buffer.writeShortArray({});", objectStr)).append(LS); break; default: @@ -248,7 +248,7 @@ public class CutDownArraySerializer implements ICutDownSerializer { case Golang: builder.append(StringUtils.format("buffer.WriteIntArray({})", objectStr)).append(LS); break; - case Cpp, Java, JavaScript, EcmaScript, TypeScript: + case Cpp, Java, Dart, JavaScript, EcmaScript, TypeScript: builder.append(StringUtils.format("buffer.writeIntArray({});", objectStr)).append(LS); break; default: @@ -278,7 +278,7 @@ public class CutDownArraySerializer implements ICutDownSerializer { case Golang: builder.append(StringUtils.format("buffer.WriteIntArray({})", objectStr)).append(LS); break; - case Cpp, JavaScript, EcmaScript, TypeScript: + case Cpp, Dart, JavaScript, EcmaScript, TypeScript: builder.append(StringUtils.format("buffer.writeIntArray({});", objectStr)).append(LS); break; default: @@ -308,7 +308,7 @@ public class CutDownArraySerializer implements ICutDownSerializer { case Golang: builder.append(StringUtils.format("buffer.WriteLongArray({})", objectStr)).append(LS); break; - case Cpp, Java, JavaScript, EcmaScript, TypeScript: + case Cpp, Java, Dart, JavaScript, EcmaScript, TypeScript: builder.append(StringUtils.format("buffer.writeLongArray({});", objectStr)).append(LS); break; default: @@ -338,7 +338,7 @@ public class CutDownArraySerializer implements ICutDownSerializer { case Golang: builder.append(StringUtils.format("buffer.WriteLongArray({})", objectStr)).append(LS); break; - case Cpp, JavaScript, EcmaScript, TypeScript: + case Cpp, Dart, JavaScript, EcmaScript, TypeScript: builder.append(StringUtils.format("buffer.writeLongArray({});", objectStr)).append(LS); break; default: @@ -368,7 +368,7 @@ public class CutDownArraySerializer implements ICutDownSerializer { case Golang: builder.append(StringUtils.format("buffer.WriteFloatArray({})", objectStr)).append(LS); break; - case Cpp, Java, JavaScript, EcmaScript, TypeScript: + case Cpp, Java, Dart, JavaScript, EcmaScript, TypeScript: builder.append(StringUtils.format("buffer.writeFloatArray({});", objectStr)).append(LS); break; default: @@ -398,7 +398,7 @@ public class CutDownArraySerializer implements ICutDownSerializer { case Golang: builder.append(StringUtils.format("buffer.WriteFloatArray({})", objectStr)).append(LS); break; - case Cpp, JavaScript, EcmaScript, TypeScript: + case Cpp, Dart, JavaScript, EcmaScript, TypeScript: builder.append(StringUtils.format("buffer.writeFloatArray({});", objectStr)).append(LS); break; default: @@ -428,7 +428,7 @@ public class CutDownArraySerializer implements ICutDownSerializer { case Golang: builder.append(StringUtils.format("buffer.WriteDoubleArray({})", objectStr)).append(LS); break; - case Cpp, Java, JavaScript, EcmaScript, TypeScript: + case Cpp, Java, Dart, JavaScript, EcmaScript, TypeScript: builder.append(StringUtils.format("buffer.writeDoubleArray({});", objectStr)).append(LS); break; default: @@ -458,7 +458,7 @@ public class CutDownArraySerializer implements ICutDownSerializer { case Golang: builder.append(StringUtils.format("buffer.WriteDoubleArray({})", objectStr)).append(LS); break; - case Cpp, JavaScript, EcmaScript, TypeScript: + case Cpp, Dart, JavaScript, EcmaScript, TypeScript: builder.append(StringUtils.format("buffer.writeDoubleArray({});", objectStr)).append(LS); break; default: @@ -488,7 +488,7 @@ public class CutDownArraySerializer implements ICutDownSerializer { case Golang: builder.append(StringUtils.format("buffer.WriteStringArray({})", objectStr)).append(LS); break; - case Cpp, Java, JavaScript, EcmaScript, TypeScript: + case Cpp, Java, Dart, JavaScript, EcmaScript, TypeScript: builder.append(StringUtils.format("buffer.writeStringArray({});", objectStr)).append(LS); break; default: @@ -515,7 +515,7 @@ public class CutDownArraySerializer implements ICutDownSerializer { case CSharp: builder.append(StringUtils.format("buffer.WritePacketArray<{}>({}, {});", protocolName, objectStr, protocolId)).append(LS); break; - case Cpp: + case Cpp, Dart: builder.append(StringUtils.format("buffer.writePacketArray<{}>({}, {});", protocolName, objectStr, protocolId)).append(LS); break; case JavaScript, EcmaScript, TypeScript: @@ -572,7 +572,7 @@ public class CutDownArraySerializer implements ICutDownSerializer { case Cpp: builder.append(StringUtils.format("auto {} = buffer.readBoolArray();", array)).append(LS); break; - case Java: + case Java, Dart: builder.append(StringUtils.format("var {} = buffer.readBoolArray();", array)).append(LS); break; case Kotlin: @@ -618,6 +618,9 @@ public class CutDownArraySerializer implements ICutDownSerializer { case Cpp: builder.append(StringUtils.format("auto {} = buffer.readBoolArray();", array)).append(LS); break; + case Dart: + builder.append(StringUtils.format("var {} = buffer.readBoolArray();", array)).append(LS); + break; case Kotlin: builder.append(StringUtils.format("val {} = buffer.readBoolArray()", array)).append(LS); break; @@ -661,7 +664,7 @@ public class CutDownArraySerializer implements ICutDownSerializer { case Cpp: builder.append(StringUtils.format("auto {} = buffer.readByteArray();", array)).append(LS); break; - case Java: + case Java, Dart: builder.append(StringUtils.format("var {} = buffer.readByteArray();", array)).append(LS); break; case Kotlin: @@ -707,6 +710,9 @@ public class CutDownArraySerializer implements ICutDownSerializer { case Cpp: builder.append(StringUtils.format("auto {} = buffer.readByteArray();", array)).append(LS); break; + case Dart: + builder.append(StringUtils.format("var {} = buffer.readByteArray();", array)).append(LS); + break; case Kotlin: builder.append(StringUtils.format("val {} = buffer.readByteArray()", array)).append(LS); break; @@ -750,7 +756,7 @@ public class CutDownArraySerializer implements ICutDownSerializer { case Cpp: builder.append(StringUtils.format("auto {} = buffer.readShortArray();", array)).append(LS); break; - case Java: + case Java, Dart: builder.append(StringUtils.format("var {} = buffer.readShortArray();", array)).append(LS); break; case Kotlin: @@ -796,6 +802,9 @@ public class CutDownArraySerializer implements ICutDownSerializer { case Cpp: builder.append(StringUtils.format("auto {} = buffer.readShortArray();", array)).append(LS); break; + case Dart: + builder.append(StringUtils.format("var {} = buffer.readShortArray();", array)).append(LS); + break; case Kotlin: builder.append(StringUtils.format("val {} = buffer.readShortArray()", array)).append(LS); break; @@ -839,7 +848,7 @@ public class CutDownArraySerializer implements ICutDownSerializer { case Cpp: builder.append(StringUtils.format("auto {} = buffer.readIntArray();", array)).append(LS); break; - case Java: + case Java, Dart: builder.append(StringUtils.format("var {} = buffer.readIntArray();", array)).append(LS); break; case Kotlin: @@ -885,6 +894,9 @@ public class CutDownArraySerializer implements ICutDownSerializer { case Cpp: builder.append(StringUtils.format("auto {} = buffer.readIntArray();", array)).append(LS); break; + case Dart: + builder.append(StringUtils.format("var {} = buffer.readIntArray();", array)).append(LS); + break; case Kotlin: builder.append(StringUtils.format("val {} = buffer.readIntArray()", array)).append(LS); break; @@ -928,7 +940,7 @@ public class CutDownArraySerializer implements ICutDownSerializer { case Cpp: builder.append(StringUtils.format("auto {} = buffer.readLongArray();", array)).append(LS); break; - case Java: + case Java, Dart: builder.append(StringUtils.format("var {} = buffer.readLongArray();", array)).append(LS); break; case Kotlin: @@ -974,6 +986,9 @@ public class CutDownArraySerializer implements ICutDownSerializer { case Cpp: builder.append(StringUtils.format("auto {} = buffer.readLongArray();", array)).append(LS); break; + case Dart: + builder.append(StringUtils.format("var {} = buffer.readLongArray();", array)).append(LS); + break; case Kotlin: builder.append(StringUtils.format("val {} = buffer.readLongArray()", array)).append(LS); break; @@ -1017,7 +1032,7 @@ public class CutDownArraySerializer implements ICutDownSerializer { case Cpp: builder.append(StringUtils.format("auto {} = buffer.readFloatArray();", array)).append(LS); break; - case Java: + case Java, Dart: builder.append(StringUtils.format("var {} = buffer.readFloatArray();", array)).append(LS); break; case Kotlin: @@ -1063,6 +1078,9 @@ public class CutDownArraySerializer implements ICutDownSerializer { case Cpp: builder.append(StringUtils.format("auto {} = buffer.readFloatArray();", array)).append(LS); break; + case Dart: + builder.append(StringUtils.format("var {} = buffer.readFloatArray();", array)).append(LS); + break; case Kotlin: builder.append(StringUtils.format("val {} = buffer.readFloatArray()", array)).append(LS); break; @@ -1106,7 +1124,7 @@ public class CutDownArraySerializer implements ICutDownSerializer { case Cpp: builder.append(StringUtils.format("auto {} = buffer.readDoubleArray();", array)).append(LS); break; - case Java: + case Java, Dart: builder.append(StringUtils.format("var {} = buffer.readDoubleArray();", array)).append(LS); break; case Kotlin: @@ -1152,6 +1170,9 @@ public class CutDownArraySerializer implements ICutDownSerializer { case Cpp: builder.append(StringUtils.format("auto {} = buffer.readDoubleArray();", array)).append(LS); break; + case Dart: + builder.append(StringUtils.format("var {} = buffer.readDoubleArray();", array)).append(LS); + break; case Kotlin: builder.append(StringUtils.format("val {} = buffer.readDoubleArray()", array)).append(LS); break; @@ -1195,7 +1216,7 @@ public class CutDownArraySerializer implements ICutDownSerializer { case Cpp: builder.append(StringUtils.format("auto {} = buffer.readStringArray();", array)).append(LS); break; - case Java: + case Java, Dart: builder.append(StringUtils.format("var {} = buffer.readStringArray();", array)).append(LS); break; case Kotlin: @@ -1236,6 +1257,9 @@ public class CutDownArraySerializer implements ICutDownSerializer { case Cpp: builder.append(StringUtils.format("auto {} = buffer.readPacketArray<{}>({});", array, protocolName, protocolId)).append(LS); break; + case Dart: + builder.append(StringUtils.format("var {} = buffer.readPacketArray<{}>({});", array, protocolName, protocolId)).append(LS); + break; case JavaScript, EcmaScript, TypeScript: builder.append(StringUtils.format("const {} = buffer.readPacketArray({});", array, protocolId)).append(LS); break; diff --git a/protocol/src/main/java/com/zfoo/protocol/serializer/CutDownListSerializer.java b/protocol/src/main/java/com/zfoo/protocol/serializer/CutDownListSerializer.java index a0424a9b..8493b109 100644 --- a/protocol/src/main/java/com/zfoo/protocol/serializer/CutDownListSerializer.java +++ b/protocol/src/main/java/com/zfoo/protocol/serializer/CutDownListSerializer.java @@ -67,7 +67,7 @@ public class CutDownListSerializer implements ICutDownSerializer { case Golang: builder.append(StringUtils.format("buffer.WriteBoolArray({})", objectStr)).append(LS); break; - case Cpp, Java, JavaScript, EcmaScript, TypeScript: + case Cpp, Java, Dart, JavaScript, EcmaScript, TypeScript: builder.append(StringUtils.format("buffer.writeBoolList({});", objectStr)).append(LS); break; case Kotlin, Scala: @@ -100,7 +100,7 @@ public class CutDownListSerializer implements ICutDownSerializer { case Golang: builder.append(StringUtils.format("buffer.WriteByteArray({})", objectStr)).append(LS); break; - case Cpp, Java, JavaScript, EcmaScript, TypeScript: + case Cpp, Java, Dart, JavaScript, EcmaScript, TypeScript: builder.append(StringUtils.format("buffer.writeByteList({});", objectStr)).append(LS); break; case Kotlin, Scala: @@ -134,7 +134,7 @@ public class CutDownListSerializer implements ICutDownSerializer { case Golang: builder.append(StringUtils.format("buffer.WriteShortArray({})", objectStr)).append(LS); break; - case Cpp, Java, JavaScript, EcmaScript, TypeScript: + case Cpp, Java, Dart, JavaScript, EcmaScript, TypeScript: builder.append(StringUtils.format("buffer.writeShortList({});", objectStr)).append(LS); break; case Kotlin, Scala: @@ -167,7 +167,7 @@ public class CutDownListSerializer implements ICutDownSerializer { case Golang: builder.append(StringUtils.format("buffer.WriteIntArray({})", objectStr)).append(LS); break; - case Cpp, Java, JavaScript, EcmaScript, TypeScript: + case Cpp, Java, Dart, JavaScript, EcmaScript, TypeScript: builder.append(StringUtils.format("buffer.writeIntList({});", objectStr)).append(LS); break; case Kotlin, Scala: @@ -200,7 +200,7 @@ public class CutDownListSerializer implements ICutDownSerializer { case Golang: builder.append(StringUtils.format("buffer.WriteLongArray({})", objectStr)).append(LS); break; - case Cpp, Java, JavaScript, EcmaScript, TypeScript: + case Cpp, Java, Dart, JavaScript, EcmaScript, TypeScript: builder.append(StringUtils.format("buffer.writeLongList({});", objectStr)).append(LS); break; case Kotlin, Scala: @@ -234,7 +234,7 @@ public class CutDownListSerializer implements ICutDownSerializer { case Golang: builder.append(StringUtils.format("buffer.WriteFloatArray({})", objectStr)).append(LS); break; - case Cpp, Java, JavaScript, EcmaScript, TypeScript: + case Cpp, Java, Dart, JavaScript, EcmaScript, TypeScript: builder.append(StringUtils.format("buffer.writeFloatList({});", objectStr)).append(LS); break; case Kotlin, Scala: @@ -268,7 +268,7 @@ public class CutDownListSerializer implements ICutDownSerializer { case Golang: builder.append(StringUtils.format("buffer.WriteDoubleArray({})", objectStr)).append(LS); break; - case Cpp, Java, JavaScript, EcmaScript, TypeScript: + case Cpp, Java, Dart, JavaScript, EcmaScript, TypeScript: builder.append(StringUtils.format("buffer.writeDoubleList({});", objectStr)).append(LS); break; case Kotlin, Scala: @@ -302,7 +302,7 @@ public class CutDownListSerializer implements ICutDownSerializer { case Golang: builder.append(StringUtils.format("buffer.WriteStringArray({})", objectStr)).append(LS); break; - case Cpp, Java, JavaScript, EcmaScript, TypeScript: + case Cpp, Java, Dart, JavaScript, EcmaScript, TypeScript: builder.append(StringUtils.format("buffer.writeStringList({});", objectStr)).append(LS); break; case Kotlin, Scala: @@ -332,7 +332,7 @@ public class CutDownListSerializer implements ICutDownSerializer { case CSharp: builder.append(StringUtils.format("buffer.WritePacketList({}, {});", objectStr, protocolId)).append(LS); break; - case Cpp, JavaScript, EcmaScript, TypeScript: + case Cpp, Dart, JavaScript, EcmaScript, TypeScript: builder.append(StringUtils.format("buffer.writePacketList({}, {});", objectStr, protocolId)).append(LS); break; case Java: @@ -391,7 +391,7 @@ public class CutDownListSerializer implements ICutDownSerializer { case Cpp: builder.append(StringUtils.format("auto {} = buffer.readBoolList();", list)).append(LS); break; - case Java: + case Java, Dart: builder.append(StringUtils.format("var {} = buffer.readBoolList();", list)).append(LS); break; case Kotlin: @@ -437,7 +437,7 @@ public class CutDownListSerializer implements ICutDownSerializer { case Cpp: builder.append(StringUtils.format("auto {} = buffer.readByteList();", list)).append(LS); break; - case Java: + case Java, Dart: builder.append(StringUtils.format("var {} = buffer.readByteList();", list)).append(LS); break; case Kotlin: @@ -483,7 +483,7 @@ public class CutDownListSerializer implements ICutDownSerializer { case Cpp: builder.append(StringUtils.format("auto {} = buffer.readShortList();", list)).append(LS); break; - case Java: + case Java, Dart: builder.append(StringUtils.format("var {} = buffer.readShortList();", list)).append(LS); break; case Kotlin: @@ -529,7 +529,7 @@ public class CutDownListSerializer implements ICutDownSerializer { case Cpp: builder.append(StringUtils.format("auto {} = buffer.readIntList();", list)).append(LS); break; - case Java: + case Java, Dart: builder.append(StringUtils.format("var {} = buffer.readIntList();", list)).append(LS); break; case Kotlin: @@ -575,7 +575,7 @@ public class CutDownListSerializer implements ICutDownSerializer { case Cpp: builder.append(StringUtils.format("auto {} = buffer.readLongList();", list)).append(LS); break; - case Java: + case Java, Dart: builder.append(StringUtils.format("var {} = buffer.readLongList();", list)).append(LS); break; case Kotlin: @@ -621,7 +621,7 @@ public class CutDownListSerializer implements ICutDownSerializer { case Cpp: builder.append(StringUtils.format("auto {} = buffer.readFloatList();", list)).append(LS); break; - case Java: + case Java, Dart: builder.append(StringUtils.format("var {} = buffer.readFloatList();", list)).append(LS); break; case Kotlin: @@ -667,7 +667,7 @@ public class CutDownListSerializer implements ICutDownSerializer { case Cpp: builder.append(StringUtils.format("auto {} = buffer.readDoubleList();", list)).append(LS); break; - case Java: + case Java, Dart: builder.append(StringUtils.format("var {} = buffer.readDoubleList();", list)).append(LS); break; case Kotlin: @@ -713,7 +713,7 @@ public class CutDownListSerializer implements ICutDownSerializer { case Cpp: builder.append(StringUtils.format("auto {} = buffer.readStringList();", list)).append(LS); break; - case Java: + case Java, Dart: builder.append(StringUtils.format("var {} = buffer.readStringList();", list)).append(LS); break; case Kotlin: @@ -759,6 +759,9 @@ public class CutDownListSerializer implements ICutDownSerializer { case Java: builder.append(StringUtils.format("var {} = buffer.readPacketList({}.class, (short) {});", list, protocolName, protocolId)).append(LS); break; + case Dart: + builder.append(StringUtils.format("var {} = buffer.readPacketList<{}>({});", list, protocolName, protocolId)).append(LS); + break; case Kotlin: builder.append(StringUtils.format("val {} = buffer.readPacketList({}::class.java, {})", list, protocolName, protocolId)).append(LS); break; diff --git a/protocol/src/main/java/com/zfoo/protocol/serializer/CutDownMapSerializer.java b/protocol/src/main/java/com/zfoo/protocol/serializer/CutDownMapSerializer.java index 271f062e..e9f0c71a 100644 --- a/protocol/src/main/java/com/zfoo/protocol/serializer/CutDownMapSerializer.java +++ b/protocol/src/main/java/com/zfoo/protocol/serializer/CutDownMapSerializer.java @@ -74,7 +74,7 @@ public class CutDownMapSerializer implements ICutDownSerializer { case Golang: builder.append(StringUtils.format("buffer.WriteIntIntMap({})", objectStr)).append(LS); return true; - case Cpp, Java, JavaScript, EcmaScript, TypeScript: + case Cpp, Java, Dart, JavaScript, EcmaScript, TypeScript: builder.append(StringUtils.format("buffer.writeIntIntMap({});", objectStr)).append(LS); return true; } @@ -101,7 +101,7 @@ public class CutDownMapSerializer implements ICutDownSerializer { case Golang: builder.append(StringUtils.format("buffer.WriteIntLongMap({})", objectStr)).append(LS); return true; - case Cpp, Java, JavaScript, EcmaScript, TypeScript: + case Cpp, Java, Dart, JavaScript, EcmaScript, TypeScript: builder.append(StringUtils.format("buffer.writeIntLongMap({});", objectStr)).append(LS); return true; } @@ -128,7 +128,7 @@ public class CutDownMapSerializer implements ICutDownSerializer { case Golang: builder.append(StringUtils.format("buffer.WriteIntStringMap({})", objectStr)).append(LS); return true; - case Cpp, Java, JavaScript, EcmaScript, TypeScript: + case Cpp, Java, Dart, JavaScript, EcmaScript, TypeScript: builder.append(StringUtils.format("buffer.writeIntStringMap({});", objectStr)).append(LS); return true; } @@ -150,7 +150,7 @@ public class CutDownMapSerializer implements ICutDownSerializer { case CSharp: builder.append(StringUtils.format("buffer.WriteIntPacketMap({}, {});", objectStr, protocolId)).append(LS); return true; - case Cpp, JavaScript, EcmaScript, TypeScript: + case Cpp, Dart, JavaScript, EcmaScript, TypeScript: builder.append(StringUtils.format("buffer.writeIntPacketMap({}, {});", objectStr, protocolId)).append(LS); return true; case Java: @@ -184,7 +184,7 @@ public class CutDownMapSerializer implements ICutDownSerializer { case Golang: builder.append(StringUtils.format("buffer.WriteLongIntMap({})", objectStr)).append(LS); return true; - case Cpp, Java, JavaScript, EcmaScript, TypeScript: + case Cpp, Java, Dart, JavaScript, EcmaScript, TypeScript: builder.append(StringUtils.format("buffer.writeLongIntMap({});", objectStr)).append(LS); return true; } @@ -211,7 +211,7 @@ public class CutDownMapSerializer implements ICutDownSerializer { case Golang: builder.append(StringUtils.format("buffer.WriteLongLongMap({})", objectStr)).append(LS); return true; - case Cpp, Java, JavaScript, EcmaScript, TypeScript: + case Cpp, Java, Dart, JavaScript, EcmaScript, TypeScript: builder.append(StringUtils.format("buffer.writeLongLongMap({});", objectStr)).append(LS); return true; } @@ -238,7 +238,7 @@ public class CutDownMapSerializer implements ICutDownSerializer { case Golang: builder.append(StringUtils.format("buffer.WriteLongStringMap({})", objectStr)).append(LS); return true; - case Cpp, Java, JavaScript, EcmaScript, TypeScript: + case Cpp, Java, Dart, JavaScript, EcmaScript, TypeScript: builder.append(StringUtils.format("buffer.writeLongStringMap({});", objectStr)).append(LS); return true; } @@ -260,7 +260,7 @@ public class CutDownMapSerializer implements ICutDownSerializer { case CSharp: builder.append(StringUtils.format("buffer.WriteLongPacketMap({}, {});", objectStr, protocolId)).append(LS); return true; - case Cpp, JavaScript, EcmaScript, TypeScript: + case Cpp, Dart, JavaScript, EcmaScript, TypeScript: builder.append(StringUtils.format("buffer.writeLongPacketMap({}, {});", objectStr, protocolId)).append(LS); return true; case Java: @@ -294,7 +294,7 @@ public class CutDownMapSerializer implements ICutDownSerializer { case Golang: builder.append(StringUtils.format("buffer.WriteStringIntMap({})", objectStr)).append(LS); return true; - case Cpp, Java, JavaScript, EcmaScript, TypeScript: + case Cpp, Java, Dart, JavaScript, EcmaScript, TypeScript: builder.append(StringUtils.format("buffer.writeStringIntMap({});", objectStr)).append(LS); return true; } @@ -321,7 +321,7 @@ public class CutDownMapSerializer implements ICutDownSerializer { case Golang: builder.append(StringUtils.format("buffer.WriteStringLongMap({})", objectStr)).append(LS); return true; - case Cpp, Java, JavaScript, EcmaScript, TypeScript: + case Cpp, Java, Dart, JavaScript, EcmaScript, TypeScript: builder.append(StringUtils.format("buffer.writeStringLongMap({});", objectStr)).append(LS); return true; } @@ -348,7 +348,7 @@ public class CutDownMapSerializer implements ICutDownSerializer { case Golang: builder.append(StringUtils.format("buffer.WriteStringStringMap({})", objectStr)).append(LS); return true; - case Cpp, Java, JavaScript, EcmaScript, TypeScript: + case Cpp, Java, Dart, JavaScript, EcmaScript, TypeScript: builder.append(StringUtils.format("buffer.writeStringStringMap({});", objectStr)).append(LS); return true; } @@ -370,7 +370,7 @@ public class CutDownMapSerializer implements ICutDownSerializer { case CSharp: builder.append(StringUtils.format("buffer.WriteStringPacketMap({}, {});", objectStr, protocolId)).append(LS); return true; - case Cpp, JavaScript, EcmaScript, TypeScript: + case Cpp, Dart, JavaScript, EcmaScript, TypeScript: builder.append(StringUtils.format("buffer.writeStringPacketMap({}, {});", objectStr, protocolId)).append(LS); return true; case Java: @@ -427,7 +427,7 @@ public class CutDownMapSerializer implements ICutDownSerializer { case Cpp: builder.append(StringUtils.format("auto {} = buffer.readIntIntMap();", map)).append(LS); return map; - case Java: + case Java, Dart: builder.append(StringUtils.format("var {} = buffer.readIntIntMap();", map)).append(LS); return map; case Kotlin: @@ -470,7 +470,7 @@ public class CutDownMapSerializer implements ICutDownSerializer { case Cpp: builder.append(StringUtils.format("auto {} = buffer.readIntLongMap();", map)).append(LS); return map; - case Java: + case Java, Dart: builder.append(StringUtils.format("var {} = buffer.readIntLongMap();", map)).append(LS); return map; case Kotlin: @@ -513,7 +513,7 @@ public class CutDownMapSerializer implements ICutDownSerializer { case Cpp: builder.append(StringUtils.format("auto {} = buffer.readIntStringMap();", map)).append(LS); return map; - case Java: + case Java, Dart: builder.append(StringUtils.format("var {} = buffer.readIntStringMap();", map)).append(LS); return map; case Kotlin: @@ -552,6 +552,9 @@ public class CutDownMapSerializer implements ICutDownSerializer { case Cpp: builder.append(StringUtils.format("auto {} = buffer.readIntPacketMap<{}>({});", map, protocolName, protocolId)).append(LS); return map; + case Dart: + builder.append(StringUtils.format("var {} = buffer.readIntPacketMap<{}>({});", map, protocolName, protocolId)).append(LS); + return map; case Java: builder.append(StringUtils.format("var {} = buffer.readIntPacketMap({}.class, (short) {});", map, protocolName, protocolId)).append(LS); return map; @@ -598,7 +601,7 @@ public class CutDownMapSerializer implements ICutDownSerializer { case Cpp: builder.append(StringUtils.format("auto {} = buffer.readLongIntMap();", map)).append(LS); return map; - case Java: + case Java, Dart: builder.append(StringUtils.format("var {} = buffer.readLongIntMap();", map)).append(LS); return map; case Kotlin: @@ -641,7 +644,7 @@ public class CutDownMapSerializer implements ICutDownSerializer { case Cpp: builder.append(StringUtils.format("auto {} = buffer.readLongLongMap();", map)).append(LS); return map; - case Java: + case Java, Dart: builder.append(StringUtils.format("var {} = buffer.readLongLongMap();", map)).append(LS); return map; case Kotlin: @@ -684,7 +687,7 @@ public class CutDownMapSerializer implements ICutDownSerializer { case Cpp: builder.append(StringUtils.format("auto {} = buffer.readLongStringMap();", map)).append(LS); return map; - case Java: + case Java, Dart: builder.append(StringUtils.format("var {} = buffer.readLongStringMap();", map)).append(LS); return map; case Kotlin: @@ -723,6 +726,9 @@ public class CutDownMapSerializer implements ICutDownSerializer { case Cpp: builder.append(StringUtils.format("auto {} = buffer.readLongPacketMap<{}>({});", map, protocolName, protocolId)).append(LS); return map; + case Dart: + builder.append(StringUtils.format("var {} = buffer.readLongPacketMap<{}>({});", map, protocolName, protocolId)).append(LS); + return map; case Java: builder.append(StringUtils.format("var {} = buffer.readLongPacketMap({}.class, (short) {});", map, protocolName, protocolId)).append(LS); return map; @@ -770,7 +776,7 @@ public class CutDownMapSerializer implements ICutDownSerializer { case Cpp: builder.append(StringUtils.format("auto {} = buffer.readStringIntMap();", map)).append(LS); return map; - case Java: + case Java, Dart: builder.append(StringUtils.format("var {} = buffer.readStringIntMap();", map)).append(LS); return map; case Kotlin: @@ -813,7 +819,7 @@ public class CutDownMapSerializer implements ICutDownSerializer { case Cpp: builder.append(StringUtils.format("auto {} = buffer.readStringLongMap();", map)).append(LS); return map; - case Java: + case Java, Dart: builder.append(StringUtils.format("var {} = buffer.readStringLongMap();", map)).append(LS); return map; case Kotlin: @@ -856,7 +862,7 @@ public class CutDownMapSerializer implements ICutDownSerializer { case Cpp: builder.append(StringUtils.format("auto {} = buffer.readStringStringMap();", map)).append(LS); return map; - case Java: + case Java, Dart: builder.append(StringUtils.format("var {} = buffer.readStringStringMap();", map)).append(LS); return map; case Kotlin: @@ -895,6 +901,9 @@ public class CutDownMapSerializer implements ICutDownSerializer { case Cpp: builder.append(StringUtils.format("auto {} = buffer.readStringPacketMap<{}>({});", map, protocolName, protocolId)).append(LS); return map; + case Dart: + builder.append(StringUtils.format("var {} = buffer.readStringPacketMap<{}>({});", map, protocolName, protocolId)).append(LS); + return map; case Java: builder.append(StringUtils.format("var {} = buffer.readStringPacketMap({}.class, (short) {});", map, protocolName, protocolId)).append(LS); return map; diff --git a/protocol/src/main/java/com/zfoo/protocol/serializer/CutDownSetSerializer.java b/protocol/src/main/java/com/zfoo/protocol/serializer/CutDownSetSerializer.java index 5ea7af11..e53c2220 100644 --- a/protocol/src/main/java/com/zfoo/protocol/serializer/CutDownSetSerializer.java +++ b/protocol/src/main/java/com/zfoo/protocol/serializer/CutDownSetSerializer.java @@ -71,7 +71,7 @@ public class CutDownSetSerializer implements ICutDownSerializer { case Golang: builder.append(StringUtils.format("buffer.WriteBoolArray({})", objectStr)).append(LS); break; - case Cpp, Java, JavaScript, EcmaScript, TypeScript: + case Cpp, Java, Dart, JavaScript, EcmaScript, TypeScript: builder.append(StringUtils.format("buffer.writeBoolSet({});", objectStr)).append(LS); break; default: @@ -104,7 +104,7 @@ public class CutDownSetSerializer implements ICutDownSerializer { case Golang: builder.append(StringUtils.format("buffer.WriteByteArray({})", objectStr)).append(LS); break; - case Cpp, Java, JavaScript, EcmaScript, TypeScript: + case Cpp, Java, Dart, JavaScript, EcmaScript, TypeScript: builder.append(StringUtils.format("buffer.writeByteSet({});", objectStr)).append(LS); break; default: @@ -137,7 +137,7 @@ public class CutDownSetSerializer implements ICutDownSerializer { case Golang: builder.append(StringUtils.format("buffer.WriteShortArray({})", objectStr)).append(LS); break; - case Cpp, Java, JavaScript, EcmaScript, TypeScript: + case Cpp, Java, Dart, JavaScript, EcmaScript, TypeScript: builder.append(StringUtils.format("buffer.writeShortSet({});", objectStr)).append(LS); break; default: @@ -170,7 +170,7 @@ public class CutDownSetSerializer implements ICutDownSerializer { case Golang: builder.append(StringUtils.format("buffer.WriteIntArray({})", objectStr)).append(LS); break; - case Cpp, Java, JavaScript, EcmaScript, TypeScript: + case Cpp, Java, Dart, JavaScript, EcmaScript, TypeScript: builder.append(StringUtils.format("buffer.writeIntSet({});", objectStr)).append(LS); break; default: @@ -203,7 +203,7 @@ public class CutDownSetSerializer implements ICutDownSerializer { case Golang: builder.append(StringUtils.format("buffer.WriteLongArray({})", objectStr)).append(LS); break; - case Cpp, Java, JavaScript, EcmaScript, TypeScript: + case Cpp, Java, Dart, JavaScript, EcmaScript, TypeScript: builder.append(StringUtils.format("buffer.writeLongSet({});", objectStr)).append(LS); break; default: @@ -233,7 +233,7 @@ public class CutDownSetSerializer implements ICutDownSerializer { case Golang: builder.append(StringUtils.format("buffer.WriteFloatArray({})", objectStr)).append(LS); break; - case Cpp, Java, JavaScript, EcmaScript, TypeScript: + case Cpp, Java, Dart, JavaScript, EcmaScript, TypeScript: builder.append(StringUtils.format("buffer.writeFloatSet({});", objectStr)).append(LS); break; case Rust, Protobuf: @@ -264,7 +264,7 @@ public class CutDownSetSerializer implements ICutDownSerializer { case Golang: builder.append(StringUtils.format("buffer.WriteDoubleArray({})", objectStr)).append(LS); break; - case Cpp, Java, JavaScript, EcmaScript, TypeScript: + case Cpp, Java, Dart, JavaScript, EcmaScript, TypeScript: builder.append(StringUtils.format("buffer.writeDoubleSet({});", objectStr)).append(LS); break; case Rust, Protobuf: @@ -298,7 +298,7 @@ public class CutDownSetSerializer implements ICutDownSerializer { case Golang: builder.append(StringUtils.format("buffer.WriteStringArray({})", objectStr)).append(LS); break; - case Cpp, Java, JavaScript, EcmaScript, TypeScript: + case Cpp, Java, Dart, JavaScript, EcmaScript, TypeScript: builder.append(StringUtils.format("buffer.writeStringSet({});", objectStr)).append(LS); break; default: @@ -328,7 +328,7 @@ public class CutDownSetSerializer implements ICutDownSerializer { case CSharp: builder.append(StringUtils.format("buffer.WritePacketSet({}, {});", objectStr, protocolId)).append(LS); break; - case Cpp, JavaScript, EcmaScript, TypeScript: + case Cpp, Dart, JavaScript, EcmaScript, TypeScript: builder.append(StringUtils.format("buffer.writePacketSet({}, {});", objectStr, protocolId)).append(LS); break; case Java: @@ -384,7 +384,7 @@ public class CutDownSetSerializer implements ICutDownSerializer { case Cpp: builder.append(StringUtils.format("auto {} = buffer.readBoolSet();", set)).append(LS); break; - case Java: + case Java, Dart: builder.append(StringUtils.format("var {} = buffer.readBoolSet();", set)).append(LS); break; case Kotlin: @@ -430,7 +430,7 @@ public class CutDownSetSerializer implements ICutDownSerializer { case Cpp: builder.append(StringUtils.format("auto {} = buffer.readByteSet();", set)).append(LS); break; - case Java: + case Java, Dart: builder.append(StringUtils.format("var {} = buffer.readByteSet();", set)).append(LS); break; case Kotlin: @@ -476,7 +476,7 @@ public class CutDownSetSerializer implements ICutDownSerializer { case Cpp: builder.append(StringUtils.format("auto {} = buffer.readShortSet();", set)).append(LS); break; - case Java: + case Java, Dart: builder.append(StringUtils.format("var {} = buffer.readShortSet();", set)).append(LS); break; case Kotlin: @@ -522,7 +522,7 @@ public class CutDownSetSerializer implements ICutDownSerializer { case Cpp: builder.append(StringUtils.format("auto {} = buffer.readIntSet();", set)).append(LS); break; - case Java: + case Java, Dart: builder.append(StringUtils.format("var {} = buffer.readIntSet();", set)).append(LS); break; case Kotlin: @@ -568,7 +568,7 @@ public class CutDownSetSerializer implements ICutDownSerializer { case Cpp: builder.append(StringUtils.format("auto {} = buffer.readLongSet();", set)).append(LS); break; - case Java: + case Java, Dart: builder.append(StringUtils.format("var {} = buffer.readLongSet();", set)).append(LS); break; case Kotlin: @@ -611,7 +611,7 @@ public class CutDownSetSerializer implements ICutDownSerializer { case Cpp: builder.append(StringUtils.format("auto {} = buffer.readFloatSet();", set)).append(LS); break; - case Java: + case Java, Dart: builder.append(StringUtils.format("var {} = buffer.readFloatSet();", set)).append(LS); break; case Kotlin: @@ -655,7 +655,7 @@ public class CutDownSetSerializer implements ICutDownSerializer { case Cpp: builder.append(StringUtils.format("auto {} = buffer.readDoubleSet();", set)).append(LS); break; - case Java: + case Java, Dart: builder.append(StringUtils.format("var {} = buffer.readDoubleSet();", set)).append(LS); break; case Kotlin: @@ -702,7 +702,7 @@ public class CutDownSetSerializer implements ICutDownSerializer { case Cpp: builder.append(StringUtils.format("auto {} = buffer.readStringSet();", set)).append(LS); break; - case Java: + case Java, Dart: builder.append(StringUtils.format("var {} = buffer.readStringSet();", set)).append(LS); break; case Kotlin: @@ -748,6 +748,9 @@ public class CutDownSetSerializer implements ICutDownSerializer { case Java: builder.append(StringUtils.format("var {} = buffer.readPacketSet({}.class, (short) {});", set, protocolName, protocolId)).append(LS); break; + case Dart: + builder.append(StringUtils.format("var {} = buffer.readPacketSet<{}>({});", set, protocolName, protocolId)).append(LS); + break; case Kotlin: builder.append(StringUtils.format("val {} = buffer.readPacketSet({}::class.java, {})", set, protocolName, protocolId)).append(LS); break; diff --git a/protocol/src/main/resources/dart/ByteBuffer.dart b/protocol/src/main/resources/dart/ByteBuffer.dart index a7efebbb..44e90ec7 100644 --- a/protocol/src/main/resources/dart/ByteBuffer.dart +++ b/protocol/src/main/resources/dart/ByteBuffer.dart @@ -21,7 +21,8 @@ class ByteBuffer implements IByteBuffer { writeInt(length); setWriteOffset(currentWriteIndex); } else { - var retainedByteBuf = buffer.sublist(currentWriteIndex - length, currentWriteIndex); + var retainedByteBuf = + buffer.sublist(currentWriteIndex - length, currentWriteIndex); setWriteOffset(beforeWriteIndex); writeInt(length); writeBytes(retainedByteBuf); @@ -370,4 +371,850 @@ class ByteBuffer implements IByteBuffer { var protocol = Protocolmanager.getProtocol(protocolId); return protocol.read(this); } + + @override + void writeBoolArray(List array) { + writeBoolList(array); + } + + @override + List readBoolArray() { + return readBoolList(); + } + + @override + void writeByteArray(List array) { + writeByteList(array); + } + + @override + List readByteArray() { + return readByteList(); + } + + @override + void writeShortArray(List array) { + writeShortList(array); + } + + @override + List readShortArray() { + return readShortList(); + } + + @override + void writeIntArray(List array) { + writeIntList(array); + } + + @override + List readIntArray() { + return readIntList(); + } + + @override + void writeLongArray(List array) { + writeLongList(array); + } + + @override + List readLongArray() { + return readLongList(); + } + + @override + void writeFloatArray(List array) { + writeFloatList(array); + } + + @override + List readFloatArray() { + return readFloatList(); + } + + @override + void writeDoubleArray(List array) { + writeDoubleList(array); + } + + @override + List readDoubleArray() { + return readDoubleList(); + } + + @override + void writeStringArray(List array) { + writeStringList(array); + } + + @override + List readStringArray() { + return readStringList(); + } + + @override + void writePacketArray(List array, int protocolId) { + writePacketList(array, protocolId); + } + + @override + List readPacketArray(int protocolId) { + return readPacketList(protocolId); + } + + @override + void writeBoolList(List list) { + if (list.isEmpty) { + writeInt(0); + } else { + writeInt(list.length); + for (var ele in list) { + writeBool(ele); + } + } + } + + @override + List readBoolList() { + var length = readInt(); + List list = List.empty(growable: true); + if (length > 0) { + for (var i = 0; i < length; i++) { + list.add(readBool()); + } + } + return list; + } + + @override + void writeByteList(List list) { + if (list.isEmpty) { + writeInt(0); + } else { + writeInt(list.length); + for (var ele in list) { + writeByte(ele); + } + } + } + + @override + List readByteList() { + var length = readInt(); + List list = List.empty(growable: true); + if (length > 0) { + for (var i = 0; i < length; i++) { + list.add(readByte()); + } + } + return list; + } + + @override + void writeShortList(List list) { + if (list.isEmpty) { + writeInt(0); + } else { + writeInt(list.length); + for (var ele in list) { + writeShort(ele); + } + } + } + + @override + List readShortList() { + var length = readInt(); + List list = List.empty(growable: true); + if (length > 0) { + for (var i = 0; i < length; i++) { + list.add(readShort()); + } + } + return list; + } + + @override + void writeIntList(List list) { + if (list.isEmpty) { + writeInt(0); + } else { + writeInt(list.length); + for (var ele in list) { + writeInt(ele); + } + } + } + + @override + List readIntList() { + var length = readInt(); + List list = List.empty(growable: true); + if (length > 0) { + for (var i = 0; i < length; i++) { + list.add(readInt()); + } + } + return list; + } + + @override + void writeLongList(List list) { + if (list.isEmpty) { + writeInt(0); + } else { + writeInt(list.length); + for (var ele in list) { + writeLong(ele); + } + } + } + + @override + List readLongList() { + var length = readInt(); + List list = List.empty(growable: true); + if (length > 0) { + for (var i = 0; i < length; i++) { + list.add(readLong()); + } + } + return list; + } + + @override + void writeFloatList(List list) { + if (list.isEmpty) { + writeInt(0); + } else { + writeInt(list.length); + for (var ele in list) { + writeFloat(ele); + } + } + } + + @override + List readFloatList() { + var length = readInt(); + List list = List.empty(growable: true); + if (length > 0) { + for (var i = 0; i < length; i++) { + list.add(readFloat()); + } + } + return list; + } + + @override + void writeDoubleList(List list) { + if (list.isEmpty) { + writeInt(0); + } else { + writeInt(list.length); + for (var ele in list) { + writeDouble(ele); + } + } + } + + @override + List readDoubleList() { + var length = readInt(); + List list = List.empty(growable: true); + if (length > 0) { + for (var i = 0; i < length; i++) { + list.add(readDouble()); + } + } + return list; + } + + @override + void writeStringList(List list) { + if (list.isEmpty) { + writeInt(0); + } else { + writeInt(list.length); + for (var ele in list) { + writeString(ele); + } + } + } + + @override + List readStringList() { + var length = readInt(); + List list = List.empty(growable: true); + if (length > 0) { + for (var i = 0; i < length; i++) { + list.add(readString()); + } + } + return list; + } + + @override + void writePacketList(List list, int protocolId) { + if (list.isEmpty) { + writeInt(0); + } else { + writeInt(list.length); + for (var ele in list) { + writePacket(ele, protocolId); + } + } + } + + @override + List readPacketList(int protocolId) { + var length = readInt(); + List list = List.empty(growable: true); + if (length > 0) { + for (var i = 0; i < length; i++) { + list.add(readPacket(protocolId) as T); + } + } + return list; + } + + @override + void writeBoolSet(Set set) { + if (set.isEmpty) { + writeInt(0); + } else { + writeInt(set.length); + for (var ele in set) { + writeBool(ele); + } + } + } + + @override + Set readBoolSet() { + var length = readInt(); + Set set = Set(); + if (length > 0) { + for (var i = 0; i < length; i++) { + set.add(readBool()); + } + } + return set; + } + + @override + void writeByteSet(Set set) { + if (set.isEmpty) { + writeInt(0); + } else { + writeInt(set.length); + for (var ele in set) { + writeByte(ele); + } + } + } + + @override + Set readByteSet() { + var length = readInt(); + Set set = Set(); + if (length > 0) { + for (var i = 0; i < length; i++) { + set.add(readByte()); + } + } + return set; + } + + @override + void writeShortSet(Set set) { + if (set.isEmpty) { + writeInt(0); + } else { + writeInt(set.length); + for (var ele in set) { + writeShort(ele); + } + } + } + + @override + Set readShortSet() { + var length = readInt(); + Set set = Set(); + if (length > 0) { + for (var i = 0; i < length; i++) { + set.add(readShort()); + } + } + return set; + } + + @override + void writeIntSet(Set set) { + if (set.isEmpty) { + writeInt(0); + } else { + writeInt(set.length); + for (var ele in set) { + writeInt(ele); + } + } + } + + @override + Set readIntSet() { + var length = readInt(); + Set set = Set(); + if (length > 0) { + for (var i = 0; i < length; i++) { + set.add(readInt()); + } + } + return set; + } + + @override + void writeLongSet(Set set) { + if (set.isEmpty) { + writeInt(0); + } else { + writeInt(set.length); + for (var ele in set) { + writeLong(ele); + } + } + } + + @override + Set readLongSet() { + var length = readInt(); + Set set = Set(); + if (length > 0) { + for (var i = 0; i < length; i++) { + set.add(readLong()); + } + } + return set; + } + + @override + void writeFloatSet(Set set) { + if (set.isEmpty) { + writeInt(0); + } else { + writeInt(set.length); + for (var ele in set) { + writeFloat(ele); + } + } + } + + @override + Set readFloatSet() { + var length = readInt(); + Set set = Set(); + if (length > 0) { + for (var i = 0; i < length; i++) { + set.add(readFloat()); + } + } + return set; + } + + @override + void writeDoubleSet(Set set) { + if (set.isEmpty) { + writeInt(0); + } else { + writeInt(set.length); + for (var ele in set) { + writeDouble(ele); + } + } + } + + @override + Set readDoubleSet() { + var length = readInt(); + Set set = Set(); + if (length > 0) { + for (var i = 0; i < length; i++) { + set.add(readDouble()); + } + } + return set; + } + + @override + void writeStringSet(Set set) { + if (set.isEmpty) { + writeInt(0); + } else { + writeInt(set.length); + for (var ele in set) { + writeString(ele); + } + } + } + + @override + Set readStringSet() { + var length = readInt(); + Set set = Set(); + if (length > 0) { + for (var i = 0; i < length; i++) { + set.add(readString()); + } + } + return set; + } + + @override + void writePacketSet(Set set, int protocolId) { + if (set.isEmpty) { + writeInt(0); + } else { + writeInt(set.length); + for (var ele in set) { + writePacket(ele, protocolId); + } + } + } + + @override + Set readPacketSet(int protocolId) { + var length = readInt(); + Set set = Set(); + if (length > 0) { + for (var i = 0; i < length; i++) { + set.add(readPacket(protocolId) as T); + } + } + return set; + } + + @override + void writeIntIntMap(Map map) { + if (map.isEmpty) { + writeInt(0); + } else { + writeInt(map.length); + map.forEach((key, value) { + writeInt(key); + writeInt(value); + }); + } + } + + @override + Map readIntIntMap() { + var length = readInt(); + Map map = Map(); + if (length > 0) { + for (var i = 0; i < length; i++) { + var key = readInt(); + var value = readInt(); + map[key] = value; + } + } + return map; + } + + @override + void writeIntLongMap(Map map) { + if (map.isEmpty) { + writeInt(0); + } else { + writeInt(map.length); + map.forEach((key, value) { + writeInt(key); + writeLong(value); + }); + } + } + + @override + Map readIntLongMap() { + var length = readInt(); + Map map = Map(); + if (length > 0) { + for (var i = 0; i < length; i++) { + var key = readInt(); + var value = readLong(); + map[key] = value; + } + } + return map; + } + + @override + void writeIntStringMap(Map map) { + if (map.isEmpty) { + writeInt(0); + } else { + writeInt(map.length); + map.forEach((key, value) { + writeInt(key); + writeString(value); + }); + } + } + + @override + Map readIntStringMap() { + var length = readInt(); + Map map = Map(); + if (length > 0) { + for (var i = 0; i < length; i++) { + var key = readInt(); + var value = readString(); + map[key] = value; + } + } + return map; + } + + @override + void writeIntPacketMap(Map map, int protocolId) { + if (map.isEmpty) { + writeInt(0); + } else { + writeInt(map.length); + map.forEach((key, value) { + writeInt(key); + writePacket(value, protocolId); + }); + } + } + + @override + Map readIntPacketMap(int protocolId) { + var length = readInt(); + Map map = Map(); + if (length > 0) { + for (var i = 0; i < length; i++) { + var key = readInt(); + var value = readPacket(protocolId); + map[key] = value as T; + } + } + return map; + } + + @override + void writeLongIntMap(Map map) { + if (map.isEmpty) { + writeInt(0); + } else { + writeInt(map.length); + map.forEach((key, value) { + writeLong(key); + writeInt(value); + }); + } + } + + @override + Map readLongIntMap() { + var length = readInt(); + Map map = Map(); + if (length > 0) { + for (var i = 0; i < length; i++) { + var key = readLong(); + var value = readInt(); + map[key] = value; + } + } + return map; + } + + @override + void writeLongLongMap(Map map) { + if (map.isEmpty) { + writeInt(0); + } else { + writeInt(map.length); + map.forEach((key, value) { + writeLong(key); + writeLong(value); + }); + } + } + + @override + Map readLongLongMap() { + var length = readInt(); + Map map = Map(); + if (length > 0) { + for (var i = 0; i < length; i++) { + var key = readLong(); + var value = readLong(); + map[key] = value; + } + } + return map; + } + + @override + void writeLongStringMap(Map map) { + if (map.isEmpty) { + writeInt(0); + } else { + writeInt(map.length); + map.forEach((key, value) { + writeLong(key); + writeString(value); + }); + } + } + + @override + Map readLongStringMap() { + var length = readInt(); + Map map = Map(); + if (length > 0) { + for (var i = 0; i < length; i++) { + var key = readLong(); + var value = readString(); + map[key] = value; + } + } + return map; + } + + @override + void writeLongPacketMap(Map map, int protocolId) { + if (map.isEmpty) { + writeInt(0); + } else { + writeInt(map.length); + map.forEach((key, value) { + writeLong(key); + writePacket(value, protocolId); + }); + } + } + + @override + Map readLongPacketMap(int protocolId) { + var length = readInt(); + Map map = Map(); + if (length > 0) { + for (var i = 0; i < length; i++) { + var key = readInt(); + var value = readPacket(protocolId) as T; + map[key] = value; + } + } + return map; + } + + @override + void writeStringIntMap(Map map) { + if (map.isEmpty) { + writeInt(0); + } else { + writeInt(map.length); + map.forEach((key, value) { + writeString(key); + writeInt(value); + }); + } + } + + @override + Map readStringIntMap() { + var length = readInt(); + Map map = Map(); + if (length > 0) { + for (var i = 0; i < length; i++) { + var key = readString(); + var value = readInt(); + map[key] = value; + } + } + return map; + } + + @override + void writeStringLongMap(Map map) { + if (map.isEmpty) { + writeInt(0); + } else { + writeInt(map.length); + map.forEach((key, value) { + writeString(key); + writeLong(value); + }); + } + } + + @override + Map readStringLongMap() { + var length = readInt(); + Map map = Map(); + if (length > 0) { + for (var i = 0; i < length; i++) { + var key = readString(); + var value = readLong(); + map[key] = value; + } + } + return map; + } + + @override + void writeStringStringMap(Map map) { + if (map.isEmpty) { + writeInt(0); + } else { + writeInt(map.length); + map.forEach((key, value) { + writeString(key); + writeString(value); + }); + } + } + + @override + Map readStringStringMap() { + var length = readInt(); + Map map = Map(); + if (length > 0) { + for (var i = 0; i < length; i++) { + var key = readString(); + var value = readString(); + map[key] = value; + } + } + return map; + } + + @override + void writeStringPacketMap(Map map, int protocolId) { + if (map.isEmpty) { + writeInt(0); + } else { + writeInt(map.length); + map.forEach((key, value) { + writeString(key); + writePacket(value, protocolId); + }); + } + } + + @override + Map readStringPacketMap(int protocolId) { + var length = readInt(); + Map map = Map(); + if (length > 0) { + for (var i = 0; i < length; i++) { + var key = readString(); + var value = readPacket(protocolId) as T; + map[key] = value; + } + } + return map; + } } diff --git a/protocol/src/main/resources/dart/IByteBuffer.dart b/protocol/src/main/resources/dart/IByteBuffer.dart index 2af297f1..cb35a33d 100644 --- a/protocol/src/main/resources/dart/IByteBuffer.dart +++ b/protocol/src/main/resources/dart/IByteBuffer.dart @@ -68,4 +68,160 @@ abstract class IByteBuffer { void writePacket(Object? packet, int protocolId); Object readPacket(int protocolId); + + void writeBoolArray(List array); + + List readBoolArray(); + + void writeByteArray(List array); + + List readByteArray(); + + void writeShortArray(List array); + + List readShortArray(); + + void writeIntArray(List array); + + List readIntArray(); + + void writeLongArray(List array); + + List readLongArray(); + + void writeFloatArray(List array); + + List readFloatArray(); + + void writeDoubleArray(List array); + + List readDoubleArray(); + + void writeStringArray(List array); + + List readStringArray(); + + void writePacketArray(List array, int protocolId); + + List readPacketArray(int protocolId); + + void writeBoolList(List list); + + List readBoolList(); + + void writeByteList(List list); + + List readByteList(); + + void writeShortList(List list); + + List readShortList(); + + void writeIntList(List list); + + List readIntList(); + + void writeLongList(List list); + + List readLongList(); + + void writeFloatList(List list); + + List readFloatList(); + + void writeDoubleList(List list); + + List readDoubleList(); + + void writeStringList(List list); + + List readStringList(); + + void writePacketList(List list, int protocolId); + + List readPacketList(int protocolId); + + void writeBoolSet(Set set); + + Set readBoolSet(); + + void writeByteSet(Set set); + + Set readByteSet(); + + void writeShortSet(Set set); + + Set readShortSet(); + + void writeIntSet(Set set); + + Set readIntSet(); + + void writeLongSet(Set set); + + Set readLongSet(); + + void writeFloatSet(Set set); + + Set readFloatSet(); + + void writeDoubleSet(Set set); + + Set readDoubleSet(); + + void writeStringSet(Set set); + + Set readStringSet(); + + void writePacketSet(Setset, int protocolId); + + Set readPacketSet(int protocolId); + + void writeIntIntMap(Map map); + + Map readIntIntMap(); + + void writeIntLongMap(Map map); + + Map readIntLongMap(); + + void writeIntStringMap(Map map); + + Map readIntStringMap(); + + void writeIntPacketMap(Map map, int protocolId); + + Map readIntPacketMap(int protocolId); + + void writeLongIntMap(Map map); + + Map readLongIntMap(); + + void writeLongLongMap(Map map); + + Map readLongLongMap(); + + void writeLongStringMap(Map map); + + Map readLongStringMap(); + + void writeLongPacketMap(Map map, int protocolId); + + Map readLongPacketMap(int protocolId); + + void writeStringIntMap(Map map); + + Map readStringIntMap(); + + void writeStringLongMap(Map map); + + Map readStringLongMap(); + + void writeStringStringMap(Map map); + + Map readStringStringMap(); + + void writeStringPacketMap(Map map, int protocolId); + + Map readStringPacketMap(int protocolId); }