Search in sources :

Example 1 with Extend

use of com.squareup.wire.schema.Extend in project wire by square.

the class JavaGenerator method get.

public static JavaGenerator get(Schema schema) {
    Map<ProtoType, TypeName> nameToJavaName = new LinkedHashMap<>();
    Map<ProtoMember, TypeName> memberToJavaName = new LinkedHashMap<>();
    for (ProtoFile protoFile : schema.getProtoFiles()) {
        String javaPackage = javaPackage(protoFile);
        putAll(nameToJavaName, javaPackage, null, protoFile.getTypes());
        for (Service service : protoFile.getServices()) {
            ClassName className = ClassName.get(javaPackage, service.type().getSimpleName());
            nameToJavaName.put(service.type(), className);
        }
        for (Extend extend : protoFile.getExtendList()) {
            if (annotationTargetType(extend) == null)
                continue;
            for (Field field : extend.getFields()) {
                if (!eligibleAsAnnotationMember(schema, field))
                    continue;
                ProtoMember protoMember = field.getMember();
                String simpleName = camelCase(protoMember.getSimpleName(), true) + "Option";
                ClassName className = ClassName.get(javaPackage, simpleName);
                memberToJavaName.put(protoMember, className);
            }
        }
    }
    nameToJavaName.putAll(BUILT_IN_TYPES_MAP);
    return new JavaGenerator(schema, nameToJavaName, memberToJavaName, new Profile(), false, /* emitAndroid */
    false, /* emitAndroidAnnotations */
    false, /* emitCompact */
    false, /* emitDeclaredOptions */
    false);
}
Also used : TypeName(com.squareup.javapoet.TypeName) WildcardTypeName(com.squareup.javapoet.WildcardTypeName) ParameterizedTypeName(com.squareup.javapoet.ParameterizedTypeName) ProtoFile(com.squareup.wire.schema.ProtoFile) Service(com.squareup.wire.schema.Service) ByteString(okio.ByteString) JvmLanguages.builtInAdapterString(com.squareup.wire.schema.internal.JvmLanguages.builtInAdapterString) LinkedHashMap(java.util.LinkedHashMap) ProtoType(com.squareup.wire.schema.ProtoType) WireField(com.squareup.wire.WireField) Field(com.squareup.wire.schema.Field) Extend(com.squareup.wire.schema.Extend) ClassName(com.squareup.javapoet.ClassName) ProtoMember(com.squareup.wire.schema.ProtoMember)

Aggregations

ClassName (com.squareup.javapoet.ClassName)1 ParameterizedTypeName (com.squareup.javapoet.ParameterizedTypeName)1 TypeName (com.squareup.javapoet.TypeName)1 WildcardTypeName (com.squareup.javapoet.WildcardTypeName)1 WireField (com.squareup.wire.WireField)1 Extend (com.squareup.wire.schema.Extend)1 Field (com.squareup.wire.schema.Field)1 ProtoFile (com.squareup.wire.schema.ProtoFile)1 ProtoMember (com.squareup.wire.schema.ProtoMember)1 ProtoType (com.squareup.wire.schema.ProtoType)1 Service (com.squareup.wire.schema.Service)1 JvmLanguages.builtInAdapterString (com.squareup.wire.schema.internal.JvmLanguages.builtInAdapterString)1 LinkedHashMap (java.util.LinkedHashMap)1 ByteString (okio.ByteString)1