in activemq-protobuf/src/main/java/org/apache/activemq/protobuf/compiler/AltJavaGenerator.java [2198:2240]
private String javaType(FieldDescriptor field) {
if( field.isInteger32Type() ) {
return "int";
}
if( field.isInteger64Type() ) {
return "long";
}
if( field.getType() == FieldDescriptor.DOUBLE_TYPE ) {
return "double";
}
if( field.getType() == FieldDescriptor.FLOAT_TYPE ) {
return "float";
}
if( field.getType() == FieldDescriptor.STRING_TYPE ) {
// TODO: support handling string fields as buffers.
// String override = getOption(field.getOptions(), "java_override_type", null);
// if( "AsciiBuffer".equals(override) ) {
// return "org.apache.activemq.protobuf.AsciiBuffer";
// } else if( "UTF8Buffer".equals(override) ) {
// return "org.apache.activemq.protobuf.UTF8Buffer";
// } else if( "Buffer".equals(override) ) {
// return "org.apache.activemq.protobuf.Buffer";
// } else {
return "java.lang.String";
// }
}
if( field.getType() == FieldDescriptor.BYTES_TYPE ) {
String override = getOption(field.getOptions(), "java_override_type", null);
if( "AsciiBuffer".equals(override) ) {
return "org.apache.activemq.protobuf.AsciiBuffer";
} else if( "UTF8Buffer".equals(override) ) {
return "org.apache.activemq.protobuf.UTF8Buffer";
} else {
return "org.apache.activemq.protobuf.Buffer";
}
}
if( field.getType() == FieldDescriptor.BOOL_TYPE ) {
return "boolean";
}
TypeDescriptor descriptor = field.getTypeDescriptor();
return javaType(descriptor);
}