constructor()

in lib/generator.js [109:151]


  constructor(option = {}) {
    const javaPackage = option && option.package;
    if (!javaPackage) {
      throw new Error('Darafile -> java -> javaPackage should not empty, please add java option into Darafile.example:\n' +
        '"java": {"package": "com.aliyun.test"}');
    }

    this.pomOutputDir = option.outputDir;
    option.outputDir = path.join(option.outputDir, 'src/main/java', javaPackage.split('.').join('/'));
    if (option.java) {
      this.className = option.java.className;
      this.implements = option.java.implements;
      this.NoException = option.java.NoException;
    }
    this.baseClient = option && option.baseClient || javaPackage + '.BaseClient';
    this.package = javaPackage;
    this.packageInfo = option.java.packageInfo;
    this.packageManager = option.java.packageManager;
    this.config = Object.assign({
      outputDir: '',
      indent: '    ',
      clientPath: 'Client.java'
    }, option);
    this.output = '';
    this.outputDir = this.config.outputDir;
    this.exec = option.exec;
    this.editable = option.editable;
    this.enableMinimizeModelName = option.enableMinimizeModelName || option.java.enableMinimizeModelName;
    this.typedef = option.java.typedef || {};
    if (!this.outputDir) {
      throw new Error('Darafile -> java -> javaPackage should not empty, please add java option into Darafile.example:\n' +
        '"java": {"package": "com.aliyun.test"}');
    }

    fs.mkdirSync(this.outputDir, {
      recursive: true
    });

    this.conflictModelNameMap = {};
    this.allModleNameMap = {};

    remove(path.join(this.outputDir, 'models/'));
  }