emitResponseBuilderInterface()

in lib/model_generator.js [45:70]


  emitResponseBuilderInterface(extendsPackage, level) {
    this.emitln(`public interface Builder ${extendsPackage ? 'extends Response.Builder<' + this.realModelName + ', Builder>' : ''} {`, level);
    for (let i = 0; i < this.ast.nodes.length; i++) {
      let node = this.ast.nodes[i];
      const value = node.fieldValue;
      const fieldName = avoidReserveName(_name(node.fieldName));
      this.emitln();
      this.emit(`Builder ${fieldName}(`, level + 1);
      this.visitFieldType(value, node, this.modelName);
      this.emitln(`${fieldName});`);

      if (value.fieldType && value.fieldType.idType && value.fieldType.idType === 'enum') {
        this.emitln();
        this.emit(`Builder ${fieldName}(`, level + 1);
        this.visitFieldType(value, node, this.modelName, true);
        this.emitln(`${fieldName});`);
      }
    }
    this.emitln();
    if (extendsPackage) {
      this.emitln(`@Override`, level + 1);
    }
    this.emitln(`${this.realModelName} build();`, level + 1);
    this.emitln();
    this.emitln(`} `, level);
  }