Skip to content

Commit

Permalink
Optimize StringEncoder when globalUseJavaString is set
Browse files Browse the repository at this point in the history
  • Loading branch information
sksamuel committed Apr 28, 2024
1 parent b61b1bc commit c8170e0
Showing 1 changed file with 4 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,11 @@ import java.util.UUID
*/
object StringEncoder : Encoder<String> {
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<String>().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")
Expand Down

0 comments on commit c8170e0

Please sign in to comment.