[ {
  "name" : "$Object_to_Short",
  "description" : "Converts an Object value into a Short. If the value is an instance of Short, it is passed through as is. If the value is an instance of Number and contains a valid short value, that will be returned. If the numerical value has a decimal value, a PayloadConverterException is thrown. If the value is null, null will be returned. For any other type, the Short.parseShort method is used on the toString value of the supplied object.",
  "inputType" : "java.lang.Object",
  "outputType" : "java.lang.Short"
}, {
  "name" : "$Avro_to_JSON",
  "description" : "Converts Avro data into the Diffusion JSON data type.",
  "inputType" : "org.apache.avro.generic.GenericContainer",
  "outputType" : "com.pushtechnology.diffusion.datatype.json.JSON"
}, {
  "name" : "$Avro_to_Avro_bytes",
  "description" : "Converts Avro data into Avro bytes.",
  "inputType" : "org.apache.avro.generic.GenericContainer",
  "outputType" : "[B"
}, {
  "name" : "$Avro_bytes_to_JSON",
  "description" : "Converts Avro bytes into the Diffusion JSON data type.",
  "inputType" : "[B",
  "outputType" : "com.pushtechnology.diffusion.datatype.json.JSON",
  "parameters" : [ {
    "name" : "schemaFilePath",
    "description" : "Path to a file containing the schema for the Avro bytes.",
    "type" : "STRING",
    "mandatory" : true
  } ]
}, {
  "name" : "$Kafka_value_to_String",
  "description" : "Extracts the value from the supplied Kafka record and converts it into a String format.",
  "inputType" : "org.apache.kafka.clients.consumer.ConsumerRecord",
  "outputType" : "java.lang.String"
}, {
  "name" : "$JSON_to_String",
  "description" : "Converts Diffusion JSON data into a String data type containing a JSON string.",
  "inputType" : "com.pushtechnology.diffusion.datatype.json.JSON",
  "outputType" : "java.lang.String"
}, {
  "name" : "$Avro_Value_to_JSON",
  "description" : "Extracts the value of type Avro from the supplied Kafka record and converts it into a Diffusion JSON format.",
  "inputType" : "org.apache.kafka.clients.consumer.ConsumerRecord",
  "outputType" : "com.pushtechnology.diffusion.datatype.json.JSON"
}, {
  "name" : "$Avro_to_JSON_String",
  "description" : "Converts Avro data into String data type.",
  "inputType" : "org.apache.avro.generic.GenericContainer",
  "outputType" : "java.lang.String"
}, {
  "name" : "$Object_to_byte_array",
  "description" : "Produces a byte[] representation of the supplied Object value. If the value is null, null will be returned.",
  "inputType" : "java.lang.Object",
  "outputType" : "[B"
}, {
  "name" : "$Object_to_Float",
  "description" : "Converts an Object value into a Float. If the value is an instance of Float, it is returned as-is. If the value is an instance of Number and represents a valid float value, the result of its floatValue() method is used. If the value is null, null is returned. For any other type, Float.parseFloat is used on the result of the object's toString() method.",
  "inputType" : "java.lang.Object",
  "outputType" : "java.lang.Float"
}, {
  "name" : "$BINARY_to_byte_array",
  "description" : "Converts the Diffusion binary data into a byte array.",
  "inputType" : "com.pushtechnology.diffusion.datatype.binary.Binary",
  "outputType" : "[B"
}, {
  "name" : "$Object_to_JsonNode",
  "description" : "Converts an Object value into an instance of JsonNode. If the value is null, it returns null. If a numerical value is supplied, the corresponding JsonNode such as IntNode or DoubleNode is returned. If an exception occurs when creating the JsonNode instance, a PayloadConverterException is thrown.",
  "inputType" : "java.lang.Object",
  "outputType" : "com.fasterxml.jackson.databind.JsonNode"
}, {
  "name" : "$Object_to_BINARY",
  "description" : "Converts an Object value into a Diffusion BINARY data type. If the value is an instance of the Diffusion Binary type, it is passed through unchanged. If the value is a byte[], it will be converted to a Binary object. For other input types, a PayloadConversionException is thrown.",
  "inputType" : "java.lang.Object",
  "outputType" : "com.pushtechnology.diffusion.datatype.binary.Binary"
}, {
  "name" : "$Kafka_value_to_JSON",
  "description" : "Extracts the value from the supplied Kafka record and converts it into a Diffusion JSON format.",
  "inputType" : "org.apache.kafka.clients.consumer.ConsumerRecord",
  "outputType" : "com.pushtechnology.diffusion.datatype.json.JSON"
}, {
  "name" : "$Object_to_Integer",
  "description" : "Converts an Object value into an Integer. If the value is an instance of Integer, it is returned as-is. If the value is an instance of Number and contains a valid integer value, that will be returned. If the numerical value has a decimal value, a PayloadConverterException is thrown. If the value is null, null is returned. For any other type, Integer.parseInt is used on the result of the object's toString() method.",
  "inputType" : "java.lang.Object",
  "outputType" : "java.lang.Integer"
}, {
  "name" : "$Object_to_JSON",
  "description" : "Converts an Object value into an instance of the Diffusion JSON data type. If the value is an instance of JSON, it is passed through as is. If the value is null, a JSON instance containing null will be returned. If the value is an instance of CharSequence, its toString method will be used to create a JSON instance to be returned. The supported types of input values for conversion include basic POJOs, primitives, and collections such as Map and List.",
  "inputType" : "java.lang.Object",
  "outputType" : "com.pushtechnology.diffusion.datatype.json.JSON"
}, {
  "name" : "$Object_to_String",
  "description" : "Converts an Object value into a String. If the value is an instance of String, it is passed through as is. If the value is null, null will be returned. For any other type the value of its toString method is used.",
  "inputType" : "java.lang.Object",
  "outputType" : "java.lang.String"
}, {
  "name" : "$Avro_Record_to_JSON",
  "description" : "Converts the key and value of a Kafka record in Avro format into the Diffusion JSON type. This converter expects the Kafka record to contain an Avro-encoded value. It can convert both the key and the value from Avro format to JSON. To convert a key of type Avro, the keyType configuration in the service must be set to Avro, and the hasAvroKey parameter of this converter should be set to true. The final output is a JSON object containing the key, value, partition, and headers of the Kafka record.",
  "inputType" : "org.apache.kafka.clients.consumer.ConsumerRecord",
  "outputType" : "com.pushtechnology.diffusion.datatype.json.JSON",
  "parameters" : [ {
    "name" : "hasAvroKey",
    "description" : "Specifies whether the type of the key of the record is of type Avro.",
    "type" : "STRING",
    "mandatory" : false
  }, {
    "name" : "headers",
    "description" : "List of headers to include in the created JSON data.`$all` can be set as its value to include all header key value pairs. By default, no headers will be added.",
    "type" : "LIST",
    "mandatory" : false
  } ]
}, {
  "name" : "$JSON_to_Avro",
  "description" : "Converts JSON data into the Avro data type.",
  "inputType" : "com.pushtechnology.diffusion.datatype.json.JSON",
  "outputType" : "org.apache.avro.generic.GenericContainer",
  "parameters" : [ {
    "name" : "schemaFilePath",
    "description" : "A path of a file containing schema for the Avro data to generate.",
    "type" : "STRING",
    "mandatory" : true
  } ]
}, {
  "name" : "$Simple_Record_to_JSON",
  "description" : "It is the default converter used by the `Subscription Service`, if no converters are specified. This converter accepts a Kafka record and transforms it into a JSON value containing key, value, partition and/or headers of the record.",
  "inputType" : "org.apache.kafka.clients.consumer.ConsumerRecord",
  "outputType" : "com.pushtechnology.diffusion.datatype.json.JSON",
  "parameters" : [ {
    "name" : "headers",
    "description" : "List of headers to include in the created JSON data. `$all` can be set as its value to include all header key value pairs. By default, no headers will be added.",
    "type" : "LIST",
    "mandatory" : false
  } ]
}, {
  "name" : "$Object_to_Double",
  "description" : "Converts an Object value into a Double. If the value is an instance of Double, it is passed through as is. If the value is an instance of Number, the product of its doubleValue method is used. If the value is null, null will be returned. For any other type, the Double.parseDouble method is used on the toString value of the supplied object.",
  "inputType" : "java.lang.Object",
  "outputType" : "java.lang.Double"
}, {
  "name" : "$Kafka_value_to_BINARY",
  "description" : "Extracts the value from the supplied Kafka record and converts it into a Diffusion Binary format.",
  "inputType" : "org.apache.kafka.clients.consumer.ConsumerRecord",
  "outputType" : "com.pushtechnology.diffusion.datatype.binary.Binary"
}, {
  "name" : "$Object_to_Long",
  "description" : "Converts an Object value into a Long. If the value is an instance of Long, it is passed through as is. If the value is an instance of Number and contains a valid long value, that will be returned. If the value is null, null will be returned. For any other type, the Long.parseLong method is used on the toString value of the supplied object. It can be used to produce a value for a Diffusion INT64 data type.",
  "inputType" : "java.lang.Object",
  "outputType" : "java.lang.Long"
} ]