Search in sources :

Example 1 with Field

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");
}
Also used : Field(io.protostuff.compiler.model.Field)

Example 2 with Field

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());
}
Also used : Field(io.protostuff.compiler.model.Field) Message(io.protostuff.compiler.model.Message)

Example 3 with Field

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());
}
Also used : Field(io.protostuff.compiler.model.Field) Message(io.protostuff.compiler.model.Message)

Example 4 with Field

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");
}
Also used : Field(io.protostuff.compiler.model.Field)

Example 5 with Field

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);
}
Also used : Field(io.protostuff.compiler.model.Field) ProtoUtils.isAnyField(org.apache.servicecomb.foundation.protobuf.internal.ProtoUtils.isAnyField) JavaType(com.fasterxml.jackson.databind.JavaType) PropertyDescriptor(org.apache.servicecomb.foundation.protobuf.internal.bean.PropertyDescriptor) FieldSchema(io.protostuff.runtime.FieldSchema) ArrayList(java.util.ArrayList) Map(java.util.Map)

Aggregations

Field (io.protostuff.compiler.model.Field)14 PropertyDescriptor (org.apache.servicecomb.foundation.protobuf.internal.bean.PropertyDescriptor)10 FieldSchema (io.protostuff.runtime.FieldSchema)8 ArrayList (java.util.ArrayList)8 Map (java.util.Map)4 ProtoUtils.isAnyField (org.apache.servicecomb.foundation.protobuf.internal.ProtoUtils.isAnyField)4 BeanDescriptor (org.apache.servicecomb.foundation.protobuf.internal.bean.BeanDescriptor)4 JavaType (com.fasterxml.jackson.databind.JavaType)2 Message (io.protostuff.compiler.model.Message)2