Search in sources :

Example 71 with StaticLangApiMethodView

use of com.google.api.codegen.viewmodel.StaticLangApiMethodView in project toolkit by googleapis.

the class JavaSurfaceTransformer method generateStubInterface.

private StaticLangStubInterfaceView generateStubInterface(InterfaceContext context, GapicProductConfig productConfig) {
    InterfaceConfig interfaceConfig = context.getInterfaceConfig();
    addStubInterfaceImports(context);
    // Stub class has different default package name from methods classes.
    InterfaceContext apiMethodsContext = context.withNewTypeTable(context.getNamer().getRootPackageName());
    List<StaticLangApiMethodView> methods = javaApiMethodTransformer.generateApiMethods(apiMethodsContext);
    for (TypeAlias alias : apiMethodsContext.getImportTypeTable().getTypeTable().getAllImports().values()) {
        context.getImportTypeTable().getAndSaveNicknameFor(alias);
    }
    StaticLangStubInterfaceView.Builder stubInterface = StaticLangStubInterfaceView.newBuilder();
    stubInterface.doc(serviceTransformer.generateServiceDoc(context, null, productConfig));
    String name = context.getNamer().getApiStubInterfaceName(context.getInterfaceConfig());
    stubInterface.releaseLevelAnnotation(context.getNamer().getReleaseAnnotation(productConfig.getReleaseLevel()));
    stubInterface.name(name);
    stubInterface.callableMethods(filterIncludeCallableMethods(methods));
    stubInterface.hasLongRunningOperations(interfaceConfig.hasLongRunningOperations());
    return stubInterface.build();
}
Also used : InterfaceConfig(com.google.api.codegen.config.InterfaceConfig) StaticLangApiMethodView(com.google.api.codegen.viewmodel.StaticLangApiMethodView) StaticLangStubInterfaceView(com.google.api.codegen.viewmodel.StaticLangStubInterfaceView) TypeAlias(com.google.api.codegen.util.TypeAlias) InterfaceContext(com.google.api.codegen.config.InterfaceContext)

Aggregations

StaticLangApiMethodView (com.google.api.codegen.viewmodel.StaticLangApiMethodView)71 MethodModel (com.google.api.codegen.config.MethodModel)43 Builder (com.google.api.codegen.viewmodel.StaticLangApiMethodView.Builder)35 SurfaceNamer (com.google.api.codegen.transformer.SurfaceNamer)22 ArrayList (java.util.ArrayList)14 FieldConfig (com.google.api.codegen.config.FieldConfig)12 MethodConfig (com.google.api.codegen.config.MethodConfig)12 PageStreamingConfig (com.google.api.codegen.config.PageStreamingConfig)10 TypeModel (com.google.api.codegen.config.TypeModel)10 InterfaceContext (com.google.api.codegen.config.InterfaceContext)9 MethodContext (com.google.api.codegen.config.MethodContext)9 FlatteningConfig (com.google.api.codegen.config.FlatteningConfig)8 ParamWithSimpleDoc (com.google.api.codegen.transformer.ParamWithSimpleDoc)6 GapicInterfaceContext (com.google.api.codegen.config.GapicInterfaceContext)4 InterfaceConfig (com.google.api.codegen.config.InterfaceConfig)4 ViewModel (com.google.api.codegen.viewmodel.ViewModel)4 GapicMethodContext (com.google.api.codegen.config.GapicMethodContext)3 GapicProductConfig (com.google.api.codegen.config.GapicProductConfig)3 ProtoApiModel (com.google.api.codegen.config.ProtoApiModel)3 ImportTypeTable (com.google.api.codegen.transformer.ImportTypeTable)3