use of io.protostuff.compiler.model.Field in project java-chassis by ServiceComb.
the class ProtoToStringGenerator method messageToString.
private void messageToString(Message message, StringBuilder sb) {
commentsToString(message.getCommentLines(), sb, 0);
appendLine(sb, "message %s {", message.getName());
for (Field field : message.getFields()) {
sb.append(" ");
fieldToString(field, field.isRepeated(), sb);
}
appendLine(sb, "}\n");
}
use of io.protostuff.compiler.model.Field in project java-chassis by ServiceComb.
the class ProtoToStringGenerator method fieldMapToString.
private void fieldMapToString(Field field, StringBuilder sb) {
Message entryMessage = (Message) field.getType();
Field keyField = entryMessage.getField(1);
Field valueField = entryMessage.getField(2);
// map<string, string> name = 1;
appendLine(sb, "map<%s, %s> %s = %d;", keyField.getTypeName(), valueField.getTypeName(), field.getName(), field.getTag());
}
use of io.protostuff.compiler.model.Field in project incubator-servicecomb-java-chassis by apache.
the class ProtoToStringGenerator method fieldMapToString.
private void fieldMapToString(Field field, StringBuilder sb) {
Message entryMessage = (Message) field.getType();
Field keyField = entryMessage.getField(1);
Field valueField = entryMessage.getField(2);
// map<string, string> name = 1;
appendLine(sb, "map<%s, %s> %s = %d;", keyField.getTypeName(), valueField.getTypeName(), field.getName(), field.getTag());
}
use of io.protostuff.compiler.model.Field in project incubator-servicecomb-java-chassis by apache.
the class ProtoToStringGenerator method messageToString.
private void messageToString(Message message, StringBuilder sb) {
commentsToString(message.getCommentLines(), sb, 0);
appendLine(sb, "message %s {", message.getName());
for (Field field : message.getFields()) {
sb.append(" ");
fieldToString(field, field.isRepeated(), sb);
}
appendLine(sb, "}\n");
}
use of io.protostuff.compiler.model.Field in project incubator-servicecomb-java-chassis by apache.
the class SchemaManager method createMapFields.
public FieldMapEx<Map<Object, Object>> createMapFields(Message message, Map<String, Type> types) {
List<FieldSchema<Map<Object, Object>>> fieldSchemas = new ArrayList<>();
for (Field protoField : message.getFields()) {
PropertyDescriptor propertyDescriptor = new PropertyDescriptor();
JavaType javaType = getParameterType(types, protoField.getName());
if (javaType.isPrimitive()) {
javaType = TypeFactory.defaultInstance().constructType(ClassUtils.primitiveToWrapper(javaType.getRawClass()));
}
propertyDescriptor.setJavaType(javaType);
propertyDescriptor.setGetter(new MapGetter<>(protoField.getName()));
propertyDescriptor.setSetter(new MapSetter<>(protoField.getName()));
FieldSchema<Map<Object, Object>> fieldSchema = createSchemaField(protoField, propertyDescriptor);
fieldSchemas.add(fieldSchema);
}
return FieldMapEx.createFieldMap(fieldSchemas);
}
Aggregations