public void handle()

in api-reference-examples/java/te-tag-query/com/facebook/threatexchange/TETagQuery.java [763:848]


    public void handle(
      String[] args,
      int numIDsPerQuery,
      boolean verbose,
      boolean showURLs,
      DescriptorFormatter descriptorFormatter
    ) {
      IndicatorTypeFilterer indicatorTypeFilterer = IndicatorTypeFilterer.createAllFilterer();
      int pageSize = 1000;
      String since = null;
      String until = null;
      boolean includeIndicatorInOutput = true;

      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("--list")) {
          IndicatorTypeFilterer.list(System.out);
          System.exit(0);

        } else if (option.equals("--since")) {
          if (args.length < 1) {
            usage(1);
          }
          since = args[0];
          args = Arrays.copyOfRange(args, 1, args.length);

        } else if (option.equals("--until")) {
          if (args.length < 1) {
            usage(1);
          }
          until = args[0];
          args = Arrays.copyOfRange(args, 1, args.length);

        } else if (option.equals("--page-size")) {
          if (args.length < 1) {
            usage(1);
          }
          pageSize = Integer.valueOf(args[0]);
          args = Arrays.copyOfRange(args, 1, args.length);

        } else if (option.equals("--indicator-type")) {
          if (args.length < 1) {
            usage(1);
          }

          indicatorTypeFilterer = IndicatorTypeFilterer.create(args[0]);
          if (indicatorTypeFilterer == null) {
            System.err.printf("%s %s: unrecognized descriptor filter \"%s\".\n",
              PROGNAME, _verb, args[0]);
            usage(1);
          }

          args = Arrays.copyOfRange(args, 1, args.length);

        } else if (option.equals("--no-print-indicator")) {
          includeIndicatorInOutput = false;

        } else {
          System.err.printf("%s %s: unrecognized option \"%s\".\n",
            PROGNAME, _verb, option);
          usage(1);
        }
      }

      if (since == null) {
        System.err.printf("%s %s: --since is required.\n",
          PROGNAME, _verb);
        usage(1);
      }
      if (args.length != 1) {
        usage(1);
      }
      String tagName = args[0];

      // The 'type' field coming back from TE API requests has 'HASH_MD5' not
      // 'md5', etc.
      String uppercaseName = indicatorTypeFilterer.getUppercaseName();

      Net.getIncremental(tagName, uppercaseName, since,
        pageSize, verbose, showURLs, descriptorFormatter, includeIndicatorInOutput);
    }