in api-reference-examples/java/te-tag-query/com/facebook/threatexchange/TETagQuery.java [75:159]
public static void main(String[] args) throws IOException {
// Set defaults
String appTokenEnvName = DEFAULT_APP_TOKEN_ENV_NAME;
boolean verbose = false;
boolean showURLs = false;
int numIDsPerQuery = MAX_IDS_PER_QUERY;
DescriptorFormatter descriptorFormatter = new JSONDescriptorFormatter();
// Override defaults
while (args.length > 0 && args[0].startsWith("-")) {
String option = args[0];
args = Arrays.copyOfRange(args, 1, args.length);
if (option.equals("-h") || option.equals("--help")) {
usage(0);
} else if (option.equals("-v") || option.equals("--verbose")) {
verbose = true;
} else if (option.equals("-q") || option.equals("--quiet")) {
verbose = false;
} else if (option.equals("-s") || option.equals("--show-urls")) {
showURLs = true;
} else if (option.equals("-l") || option.equals("--list-verbs")) {
CommandHandlerFactory.list(System.out);
System.exit(0);
} else if (option.equals("--ids-per-query")) {
if (args.length < 1) {
usage(1);
}
String svalue = args[0];
args = Arrays.copyOfRange(args, 1, args.length);
try {
numIDsPerQuery = Integer.valueOf(svalue);
} catch (NumberFormatException e) {
System.err.printf("%s: could not parse \"%s\" as integer.\n",
PROGNAME, svalue);
System.exit(1);
}
if (numIDsPerQuery < 1 || numIDsPerQuery > MAX_IDS_PER_QUERY) {
System.err.printf("%s: num IDs per query must be in the range 1..%d; got %d.\n",
PROGNAME, MAX_IDS_PER_QUERY, numIDsPerQuery);
System.exit(1);
}
} else if (option.equals("-a") || option.equals("--app-token-env-name")) {
if (args.length < 1) {
usage(1);
}
appTokenEnvName = args[0];
args = Arrays.copyOfRange(args, 1, args.length);
} else if (option.equals("-b") || option.equals("--te-base-url")) {
if (args.length < 1) {
usage(1);
}
Net.setTEBaseURL(args[0]);
args = Arrays.copyOfRange(args, 1, args.length);
} else {
System.err.printf("%s: unrecognized option \"%s\".\n", PROGNAME, option);
usage(1);
}
}
Net.setAppToken(appTokenEnvName);
if (args.length < 1) {
usage(1);
}
String verb = args[0];
args = Arrays.copyOfRange(args, 1, args.length);
CommandHandler commandHandler = CommandHandlerFactory.create(verb);
if (commandHandler == null) {
System.err.printf("%s: verb \"%s\" not found.\n", PROGNAME, verb);
System.exit(1);
}
commandHandler.handle(args, numIDsPerQuery, verbose, showURLs,
descriptorFormatter);
}