private static Options createOptions()

in backup-command/src/main/java/org/apache/iotdb/backup/command/ExportTool.java [253:376]


  private static Options createOptions() {

    Options options = createNewOptions();

    Option opTargetFile =
        Option.builder(FILE_FLODER_ARGS)
            .required()
            .argName(FILE_FLODER_NAME)
            .hasArg()
            .desc("File floder (required)")
            .build();
    options.addOption(opTargetFile);

    // Option opTimeFormat =
    // Option.builder(TIME_FORMAT_ARGS)
    // .argName(TIME_FORMAT_NAME)
    // .hasArg()
    // .desc(
    // "Output time Format in csv file. "
    // + "You can choose 1) timestamp, number, long 2) ISO8601, default 3) "
    // + "user-defined pattern like yyyy-MM-dd\\ HH:mm:ss, default ISO8601 (optional)")
    // .build();
    // options.addOption(opTimeFormat);

    Option opTimeZone =
        Option.builder(TIME_ZONE_ARGS)
            .argName(TIME_ZONE_NAME)
            .hasArg()
            .desc("Time Zone eg. +08:00 or -01:00 (optional)")
            .build();
    options.addOption(opTimeZone);

    Option opHelp =
        Option.builder(HELP_ARGS)
            .longOpt(HELP_ARGS)
            .hasArg(false)
            .desc("Display help information")
            .build();
    options.addOption(opHelp);

    Option opCompress =
        Option.builder(COMPRESS_ARGS)
            .longOpt(COMPRESS_NAME)
            .argName(COMPRESS_NAME)
            .hasArg()
            .desc("Type sql/csv/snappy/gzip/lz4/tsfile to use compress algorithm. (optional)")
            .build();
    options.addOption(opCompress);

    Option opWhereClause =
        Option.builder(WHERE_CLASUSE_ARGS)
            .longOpt(WHERE_CLASUSE_NAME)
            .argName(WHERE_CLASUSE_NAME)
            .hasArg()
            .desc("where clause  (optional)")
            .build();
    options.addOption(opWhereClause);

    Option opFileStrategy =
        Option.builder(FILE_SINK_STRATEGY_ARGS)
            .longOpt(FILE_SINK_STRATEGY_NAME)
            .argName(FILE_SINK_STRATEGY_NAME)
            .hasArg()
            .desc(
                "two strategy: 1.entity path as file name 2.a extra catalog file records the entity path and file (optional)")
            .build();
    options.addOption(opFileStrategy);

    Option opStructure =
        Option.builder(NEED_TIMESERIES_STRUCTURE_ARGS)
            .longOpt(NEED_TIMESERIES_STRUCTURE_NAME)
            .argName(NEED_TIMESERIES_STRUCTURE_NAME)
            .hasArg()
            .desc("a extra file records the timeseries structure (optional)")
            .build();
    options.addOption(opStructure);

    // Option zipCompress =
    // Option.builder(NEED_ZIP_COMPRESS_ARGS)
    // .longOpt(NEED_ZIP_COMPRESS_NAME)
    // .argName(NEED_ZIP_COMPRESS_NAME)
    // .hasArg()
    // .desc("zip all the files")
    // .build();
    // options.addOption(zipCompress);

    Option iotPath =
        Option.builder(IOT_PATH_ARGS)
            .longOpt(IOT_PATH_NAME)
            .argName(IOT_PATH_NAME)
            .hasArg()
            .desc("iot path")
            .build();
    options.addOption(iotPath);

    Option virutalSGNum =
        Option.builder(VIRTUAL_STORAGE_GROUP_NUM_ARGS)
            .longOpt(VIRTUAL_STORAGE_GROUP_NUM_NAME)
            .argName(VIRTUAL_STORAGE_GROUP_NUM_NAME)
            .hasArg()
            .desc("virtual storage group num,this param is used for export tsfile(optional)")
            .build();
    options.addOption(virutalSGNum);

    Option partitionInterval =
        Option.builder(PARTITION_INTERVAL_ARGS)
            .longOpt(PARTITION_INTERVAL_NAME)
            .argName(PARTITION_INTERVAL_NAME)
            .hasArg()
            .desc(
                "partition interval,only tsfile need this param,this param is used for export tsfile(optional)")
            .build();
    options.addOption(partitionInterval);

    Option opCharSet =
        Option.builder(CHAR_SET_ARGS)
            .argName(CHAR_SET_NAME)
            .hasArg()
            .desc("the file`s charset,default utf8.(optional)")
            .build();
    options.addOption(opCharSet);

    return options;
  }