Class KeyValueSchemaInfo

java.lang.Object
org.apache.pulsar.client.impl.schema.KeyValueSchemaInfo

public final class KeyValueSchemaInfo extends Object
Util class for processing key/value schema info.
  • Method Details

    • decodeKeyValueEncodingType

      public static KeyValueEncodingType decodeKeyValueEncodingType(SchemaInfo schemaInfo)
      Decode the kv encoding type from the schema info.
      Parameters:
      schemaInfo - the schema info
      Returns:
      the kv encoding type
    • encodeKeyValueSchemaInfo

      public static <K, V> SchemaInfo encodeKeyValueSchemaInfo(Schema<K> keySchema, Schema<V> valueSchema, KeyValueEncodingType keyValueEncodingType)
      Encode key & value into schema into a KeyValue schema.
      Parameters:
      keySchema - the key schema
      valueSchema - the value schema
      keyValueEncodingType - the encoding type to encode and decode key value pair
      Returns:
      the final schema info
    • encodeKeyValueSchemaInfo

      public static <K, V> SchemaInfo encodeKeyValueSchemaInfo(String schemaName, Schema<K> keySchema, Schema<V> valueSchema, KeyValueEncodingType keyValueEncodingType)
      Encode key & value into schema into a KeyValue schema.
      Parameters:
      schemaName - the final schema name
      keySchema - the key schema
      valueSchema - the value schema
      keyValueEncodingType - the encoding type to encode and decode key value pair
      Returns:
      the final schema info
    • encodeKeyValueSchemaInfo

      public static SchemaInfo encodeKeyValueSchemaInfo(String schemaName, SchemaInfo keySchemaInfo, SchemaInfo valueSchemaInfo, KeyValueEncodingType keyValueEncodingType)
      Encode key & value into schema into a KeyValue schema.
      Parameters:
      schemaName - the final schema name
      keySchemaInfo - the key schema info
      valueSchemaInfo - the value schema info
      keyValueEncodingType - the encoding type to encode and decode key value pair
      Returns:
      the final schema info
    • decodeKeyValueSchemaInfo

      public static KeyValue<SchemaInfo,SchemaInfo> decodeKeyValueSchemaInfo(SchemaInfo schemaInfo)
      Decode the key/value schema info to get key schema info and value schema info.
      Parameters:
      schemaInfo - key/value schema info.
      Returns:
      the pair of key schema info and value schema info