emitHeader()

in lib/base_client_generator.js [57:92]


  emitHeader(level) {
    this.emitln(`// This file is auto-generated, you can edit it.`, level);
    this.emitln(`package ${this.ctx.package};`, level);
    this.emitln();
    this.emitln(`import darabonba.core.*;`, level);
    this.emitln(`import darabonba.core.client.*;`, level);
    this.emitln(`import darabonba.core.interceptor.*;`, level);
    this.emitln();
    this.emitln(`/**`, level);
    this.emitln(` * <p>${this.ctx.description ? this.ctx.description : 'Base client'}.</p>`, level);
    this.emitln(` * <p>Can be overwritten by handwriting here.</p>`, level);
    this.emitln(` */`, level);
    this.emitln(`public abstract class BaseClientBuilder<BuilderT extends IClientBuilder<BuilderT, ClientT>, ClientT> extends TeaClientBuilder<BuilderT, ClientT> {`, level);
  }

  emitServiceName(level) {
    this.emitln('@Override', level);
    this.emitln(`protected String serviceName() {`, level);
    this.emitln(`return "${this.ctx.productId}${this.ctx.apiVersions}";`, level + 1);
    this.emitln(`}`, level);
  }

  emitServiceConfiguration(level) {
    this.emitln(`BuilderT serviceConfiguration(Configuration serviceConfiguration) {`, level);
    this.emitln('clientConfiguration.setOption(ClientOption.SERVICE_CONFIGURATION, serviceConfiguration);', level + 1);
    this.emitln('return (BuilderT) this;', level + 1);
    this.emitln(`}`, level);
  }

  emitConfiguration(level) {
    const configuration = new ConfigurationGenerator(this.ast, this.ctx);
    configuration.codegen(level);
    save(path.join(this.ctx.outputDir, `Configuration.java`), configuration.output);
  }

}