mincScopeOpt = new Option(IteratorScope.minc.name(), "minor-compaction", false, "applied at minor compaction");
majcScopeOpt = new Option(IteratorScope.majc.name(), "major-compaction", false, "applied at major compaction");
scanScopeOpt = new Option(IteratorScope.scan.name(), "scan-time", false, "applied at scan time");
OptionGroup typeGroup = new OptionGroup();
classnameTypeOpt = new Option("class", "class-name", true, "a java class type");
classnameTypeOpt.setArgName("name");
aggTypeOpt = new Option("agg", "aggregator", false, "an aggregating type");
regexTypeOpt = new Option("regex", "regular-expression", false, "a regex matching type");
versionTypeOpt = new Option("vers", "version", false, "a versioning type");
nolabelTypeOpt = new Option("nolabel", "no-label", false, "a no-labeling type");
filterTypeOpt = new Option("filter", "filter", false, "a filtering type");
typeGroup.addOption(classnameTypeOpt);
typeGroup.addOption(aggTypeOpt);
typeGroup.addOption(regexTypeOpt);
typeGroup.addOption(versionTypeOpt);
typeGroup.addOption(nolabelTypeOpt);
typeGroup.addOption(filterTypeOpt);
typeGroup.setRequired(true);
o.addOption(tableOpt);
o.addOption(priorityOpt);
o.addOption(nameOpt);
o.addOption(mincScopeOpt);