From c8170e022b7382fe9f3329da09ec010d54cd264c Mon Sep 17 00:00:00 2001 From: sksamuel Date: Sun, 28 Apr 2024 13:00:54 -0500 Subject: [PATCH] Optimize StringEncoder when globalUseJavaString is set --- .../com/sksamuel/centurion/avro/encoders/strings.kt | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/centurion-avro/src/main/kotlin/com/sksamuel/centurion/avro/encoders/strings.kt b/centurion-avro/src/main/kotlin/com/sksamuel/centurion/avro/encoders/strings.kt index b9f525c..a166a6c 100644 --- a/centurion-avro/src/main/kotlin/com/sksamuel/centurion/avro/encoders/strings.kt +++ b/centurion-avro/src/main/kotlin/com/sksamuel/centurion/avro/encoders/strings.kt @@ -12,14 +12,11 @@ import java.util.UUID */ object StringEncoder : Encoder { override fun encode(schema: Schema): (String) -> Any? { - return when (schema.type) { - Schema.Type.STRING -> when { - Encoder.globalUseJavaString || schema.getProp(GenericData.STRING_PROP) == "String" -> - Encoder.identity().encode(schema) - - else -> UTF8StringEncoder.encode(schema) - } + if (Encoder.globalUseJavaString || schema.getProp(GenericData.STRING_PROP) == "String") + return JavaStringEncoder.encode(schema) + return when (schema.type) { + Schema.Type.STRING -> UTF8StringEncoder.encode(schema) Schema.Type.BYTES -> ByteStringEncoder.encode(schema) Schema.Type.FIXED -> FixedStringEncoder.encode(schema) else -> error("Unsupported type for string schema: $schema")