in foundations/foundation-protobuf/src/main/java/org/apache/servicecomb/foundation/protobuf/internal/schema/deserializer/DeserializerSchemaManager.java [143:182]
protected <T> FieldSchema<T> createScalarField(Field protoField, PropertyDescriptor propertyDescriptor) {
if (protoField.getType().isEnum()) {
return EnumsReadSchemas.create(protoField, propertyDescriptor);
}
switch ((ScalarFieldType) protoField.getType()) {
case INT32:
return Int32ReadSchemas.create(protoField, propertyDescriptor);
case UINT32:
return UInt32ReadSchemas.create(protoField, propertyDescriptor);
case SINT32:
return SInt32ReadSchemas.create(protoField, propertyDescriptor);
case FIXED32:
return Fixed32ReadSchemas.create(protoField, propertyDescriptor);
case SFIXED32:
return SFixed32ReadSchemas.create(protoField, propertyDescriptor);
case INT64:
return Int64ReadSchemas.create(protoField, propertyDescriptor);
case UINT64:
return UInt64ReadSchemas.create(protoField, propertyDescriptor);
case SINT64:
return SInt64ReadSchemas.create(protoField, propertyDescriptor);
case FIXED64:
return Fixed64ReadSchemas.create(protoField, propertyDescriptor);
case SFIXED64:
return SFixed64ReadSchemas.create(protoField, propertyDescriptor);
case FLOAT:
return FloatReadSchemas.create(protoField, propertyDescriptor);
case DOUBLE:
return DoubleReadSchemas.create(protoField, propertyDescriptor);
case BOOL:
return BoolReadSchemas.create(protoField, propertyDescriptor);
case STRING:
return StringReadSchemas.create(protoField, propertyDescriptor);
case BYTES:
return BytesReadSchemas.create(protoField, propertyDescriptor);
default:
throw new IllegalStateException("unknown proto field type: " + protoField.getType());
}
}