func NewSchema()

in pulsar/schema.go [92:125]


func NewSchema(schemaType SchemaType, schemaData []byte, properties map[string]string) (schema Schema, err error) {
	var schemaDef = string(schemaData)
	var s Schema
	switch schemaType {
	case BYTES:
		s = NewBytesSchema(properties)
	case STRING:
		s = NewStringSchema(properties)
	case JSON:
		s = NewJSONSchema(schemaDef, properties)
	case PROTOBUF:
		s = NewProtoSchema(schemaDef, properties)
	case AVRO:
		s = NewAvroSchema(schemaDef, properties)
	case INT8:
		s = NewInt8Schema(properties)
	case INT16:
		s = NewInt16Schema(properties)
	case INT32:
		s = NewInt32Schema(properties)
	case INT64:
		s = NewInt64Schema(properties)
	case FLOAT:
		s = NewFloatSchema(properties)
	case DOUBLE:
		s = NewDoubleSchema(properties)
	case ProtoNative:
		s = newProtoNativeSchema(schemaDef, properties)
	default:
		err = fmt.Errorf("not support schema type of %v", schemaType)
	}
	schema = s
	return
}