in activemq-protobuf/src/main/java/org/apache/activemq/protobuf/compiler/AltJavaGenerator.java [1951:1996]
private String javaTypeDefault(FieldDescriptor field) {
OptionDescriptor defaultOption = field.getOptions().get("default");
if( defaultOption!=null ) {
if( field.isStringType() ) {
return asJavaString(defaultOption.getValue());
} else if( field.getType() == FieldDescriptor.BYTES_TYPE ) {
return "new "+javaType(field)+"("+asJavaString(defaultOption.getValue())+")";
} else if( field.isInteger32Type() ) {
int v;
if( field.getType() == FieldDescriptor.UINT32_TYPE ) {
v = TextFormat.parseUInt32(defaultOption.getValue());
} else {
v = TextFormat.parseInt32(defaultOption.getValue());
}
return ""+v;
} else if( field.isInteger64Type() ) {
long v;
if( field.getType() == FieldDescriptor.UINT64_TYPE ) {
v = TextFormat.parseUInt64(defaultOption.getValue());
} else {
v = TextFormat.parseInt64(defaultOption.getValue());
}
return ""+v+"l";
} else if( field.getType() == FieldDescriptor.DOUBLE_TYPE ) {
double v = Double.valueOf(defaultOption.getValue());
return ""+v+"d";
} else if( field.getType() == FieldDescriptor.FLOAT_TYPE ) {
float v = Float.valueOf(defaultOption.getValue());
return ""+v+"f";
} else if( field.getType() == FieldDescriptor.BOOL_TYPE ) {
boolean v = Boolean.valueOf(defaultOption.getValue());
return ""+v;
} else if( field.getTypeDescriptor()!=null && field.getTypeDescriptor().isEnum() ) {
return javaType(field)+"."+defaultOption.getValue();
}
return defaultOption.getValue();
} else {
if( field.isNumberType() ) {
return "0";
}
if( field.getType() == FieldDescriptor.BOOL_TYPE ) {
return "false";
}
return "null";
}
}