MCPcopy Create free account
hub / github.com/chronoxor/FastBinaryEncoding / GenerateFBEJson

Method GenerateFBEJson

source/generator_kotlin.cpp:4404–4634  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

4402}
4403
4404void GeneratorKotlin::GenerateFBEJson(const std::string& domain, const std::string& package)
4405{
4406 CppCommon::Path path = CppCommon::Path(_output) / CreatePackagePath(domain, package);
4407
4408 // Generate the file
4409 CppCommon::Path file = path / "Json.kt";
4410 WriteBegin();
4411
4412 // Generate headers
4413 GenerateHeader("FBE");
4414 GenerateImports(domain, package);
4415
4416 std::string code = R"CODE(
4417internal class BytesJson : com.google.gson.JsonSerializer<ByteArray>, com.google.gson.JsonDeserializer<ByteArray>
4418{
4419 override fun serialize(src: ByteArray, typeOfSrc: java.lang.reflect.Type, context: com.google.gson.JsonSerializationContext): com.google.gson.JsonElement
4420 {
4421 return com.google.gson.JsonPrimitive(java.util.Base64.getEncoder().encodeToString(src))
4422 }
4423
4424 @Throws(com.google.gson.JsonParseException::class)
4425 override fun deserialize(json: com.google.gson.JsonElement, type: java.lang.reflect.Type, context: com.google.gson.JsonDeserializationContext): ByteArray
4426 {
4427 return java.util.Base64.getDecoder().decode(json.asString)
4428 }
4429}
4430
4431internal class CharacterJson : com.google.gson.JsonSerializer<Char>, com.google.gson.JsonDeserializer<Char>
4432{
4433 override fun serialize(src: Char, typeOfSrc: java.lang.reflect.Type, context: com.google.gson.JsonSerializationContext): com.google.gson.JsonElement
4434 {
4435 return com.google.gson.JsonPrimitive(src.code)
4436 }
4437
4438 @Throws(com.google.gson.JsonParseException::class)
4439 override fun deserialize(json: com.google.gson.JsonElement, type: java.lang.reflect.Type, context: com.google.gson.JsonDeserializationContext): Char
4440 {
4441 return json.asLong.toInt().toChar()
4442 }
4443}
4444
4445_TIMESTAMP_CLASS_
4446
4447internal class BigDecimalJson : com.google.gson.JsonSerializer<java.math.BigDecimal>, com.google.gson.JsonDeserializer<java.math.BigDecimal>
4448{
4449 override fun serialize(src: java.math.BigDecimal, typeOfSrc: java.lang.reflect.Type, context: com.google.gson.JsonSerializationContext): com.google.gson.JsonElement
4450 {
4451 return com.google.gson.JsonPrimitive(src.toPlainString())
4452 }
4453
4454 @Throws(com.google.gson.JsonParseException::class)
4455 override fun deserialize(json: com.google.gson.JsonElement, type: java.lang.reflect.Type, context: com.google.gson.JsonDeserializationContext): java.math.BigDecimal
4456 {
4457 return java.math.BigDecimal(json.asJsonPrimitive.asString)
4458 }
4459}
4460
4461internal class UUIDJson : com.google.gson.JsonSerializer<java.util.UUID>, com.google.gson.JsonDeserializer<java.util.UUID>

Callers

nothing calls this directly

Calls 1

VersionClass · 0.85

Tested by

no test coverage detected