langtools/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/Configuration.java
changeset 39181 e2526131d705
parent 38515 6ae7f7d9b44c
child 39364 bd6d4a7936b4
equal deleted inserted replaced
39180:bed7937d5ac4 39181:e2526131d705
   409         }
   409         }
   410     }
   410     }
   411 
   411 
   412     public Set<Doclet.Option> getSupportedOptions() {
   412     public Set<Doclet.Option> getSupportedOptions() {
   413         Doclet.Option[] options = {
   413         Doclet.Option[] options = {
   414             new Option(this, "author") {
   414             new Option(this, "-author") {
   415                 @Override
   415                 @Override
   416                 public boolean process(String opt, ListIterator<String> args) {
   416                 public boolean process(String opt, ListIterator<String> args) {
   417                     optionsProcessed.add(this);
   417                     optionsProcessed.add(this);
   418                     showauthor = true;
   418                     showauthor = true;
   419                     return true;
   419                     return true;
   420                 }
   420                 }
   421             },
   421             },
   422             new Option(this, "d", 1) {
   422             new Option(this, "-d", 1) {
   423                 @Override
   423                 @Override
   424                 public boolean process(String opt, ListIterator<String> args) {
   424                 public boolean process(String opt, ListIterator<String> args) {
   425                     optionsProcessed.add(this);
   425                     optionsProcessed.add(this);
   426                     destDirName = addTrailingFileSep(args.next());
   426                     destDirName = addTrailingFileSep(args.next());
   427                     return true;
   427                     return true;
   428                 }
   428                 }
   429             },
   429             },
   430             new Option(this, "docencoding", 1) {
   430             new Option(this, "-docencoding", 1) {
   431                 @Override
   431                 @Override
   432                 public boolean process(String opt, ListIterator<String> args) {
   432                 public boolean process(String opt, ListIterator<String> args) {
   433                     optionsProcessed.add(this);
   433                     optionsProcessed.add(this);
   434                     docencoding = args.next();
   434                     docencoding = args.next();
   435                     return true;
   435                     return true;
   436                 }
   436                 }
   437             },
   437             },
   438             new Option(this, "docfilessubdirs") {
   438             new Option(this, "-docfilessubdirs") {
   439                 @Override
   439                 @Override
   440                 public boolean process(String opt, ListIterator<String> args) {
   440                 public boolean process(String opt, ListIterator<String> args) {
   441                     optionsProcessed.add(this);
   441                     optionsProcessed.add(this);
   442                     copydocfilesubdirs = true;
   442                     copydocfilesubdirs = true;
   443                     return true;
   443                     return true;
   444                 }
   444                 }
   445             },
   445             },
   446             new Hidden(this, "encoding", 1) {
   446             new Hidden(this, "-encoding", 1) {
   447                 @Override
   447                 @Override
   448                 public boolean process(String opt, ListIterator<String> args) {
   448                 public boolean process(String opt, ListIterator<String> args) {
   449                     optionsProcessed.add(this);
   449                     optionsProcessed.add(this);
   450                     encoding = args.next();
   450                     encoding = args.next();
   451                     return true;
   451                     return true;
   452                 }
   452                 }
   453             },
   453             },
   454             new Option(this, "excludedocfilessubdir", 1) {
   454             new Option(this, "-excludedocfilessubdir", 1) {
   455                 @Override
   455                 @Override
   456                 public boolean process(String opt, ListIterator<String> args) {
   456                 public boolean process(String opt, ListIterator<String> args) {
   457                     optionsProcessed.add(this);
   457                     optionsProcessed.add(this);
   458                     addToSet(excludedDocFileDirs, args.next());
   458                     addToSet(excludedDocFileDirs, args.next());
   459                     return true;
   459                     return true;
   460                 }
   460                 }
   461             },
   461             },
   462             new Option(this, "group", 2) {
   462             new Option(this, "-group", 2) {
   463                 @Override
   463                 @Override
   464                 public boolean process(String opt, ListIterator<String> args) {
   464                 public boolean process(String opt, ListIterator<String> args) {
   465                     optionsProcessed.add(this);
   465                     optionsProcessed.add(this);
   466                     groups.add(new GroupContainer(args.next(), args.next()));
   466                     groups.add(new GroupContainer(args.next(), args.next()));
   467                     return true;
   467                     return true;
   468                 }
   468                 }
   469             },
   469             },
   470             new Hidden(this, "javafx") {
   470             new Hidden(this, "-javafx") {
   471                 @Override
   471                 @Override
   472                 public boolean process(String opt, ListIterator<String> args) {
   472                 public boolean process(String opt, ListIterator<String> args) {
   473                     optionsProcessed.add(this);
   473                     optionsProcessed.add(this);
   474                     javafx = true;
   474                     javafx = true;
   475                     return true;
   475                     return true;
   476                 }
   476                 }
   477             },
   477             },
   478             new Option(this, "keywords") {
   478             new Option(this, "-keywords") {
   479                 @Override
   479                 @Override
   480                 public boolean process(String opt, ListIterator<String> args) {
   480                 public boolean process(String opt, ListIterator<String> args) {
   481                     optionsProcessed.add(this);
   481                     optionsProcessed.add(this);
   482                     keywords = true;
   482                     keywords = true;
   483                     return true;
   483                     return true;
   484                 }
   484                 }
   485             },
   485             },
   486             new Option(this, "link", 1) {
   486             new Option(this, "-link", 1) {
   487                 @Override
   487                 @Override
   488                 public boolean process(String opt, ListIterator<String> args) {
   488                 public boolean process(String opt, ListIterator<String> args) {
   489                     optionsProcessed.add(this);
   489                     optionsProcessed.add(this);
   490                     urlForLink = args.next();
   490                     urlForLink = args.next();
   491                     pkglistUrlForLink = urlForLink;
   491                     pkglistUrlForLink = urlForLink;
   492                     return true;
   492                     return true;
   493                 }
   493                 }
   494             },
   494             },
   495             new Option(this, "linksource") {
   495             new Option(this, "-linksource") {
   496                 @Override
   496                 @Override
   497                 public boolean process(String opt, ListIterator<String> args) {
   497                 public boolean process(String opt, ListIterator<String> args) {
   498                     optionsProcessed.add(this);
   498                     optionsProcessed.add(this);
   499                     linksource = true;
   499                     linksource = true;
   500                     return true;
   500                     return true;
   501                 }
   501                 }
   502             },
   502             },
   503             new Option(this, "linkoffline", 2) {
   503             new Option(this, "-linkoffline", 2) {
   504                 @Override
   504                 @Override
   505                 public boolean process(String opt, ListIterator<String> args) {
   505                 public boolean process(String opt, ListIterator<String> args) {
   506                     optionsProcessed.add(this);
   506                     optionsProcessed.add(this);
   507                     urlForLinkOffline = args.next();
   507                     urlForLinkOffline = args.next();
   508                     pkglistUrlForLinkOffline = args.next();
   508                     pkglistUrlForLinkOffline = args.next();
   509                     return true;
   509                     return true;
   510                 }
   510                 }
   511             },
   511             },
   512             new Option(this, "nocomment") {
   512             new Option(this, "-nocomment") {
   513                 @Override
   513                 @Override
   514                 public boolean process(String opt, ListIterator<String> args) {
   514                 public boolean process(String opt, ListIterator<String> args) {
   515                     optionsProcessed.add(this);
   515                     optionsProcessed.add(this);
   516                     nocomment = true;
   516                     nocomment = true;
   517                     return true;
   517                     return true;
   518                 }
   518                 }
   519             },
   519             },
   520             new Option(this, "nodeprecated") {
   520             new Option(this, "-nodeprecated") {
   521                 @Override
   521                 @Override
   522                 public boolean process(String opt, ListIterator<String> args) {
   522                 public boolean process(String opt, ListIterator<String> args) {
   523                     optionsProcessed.add(this);
   523                     optionsProcessed.add(this);
   524                     nodeprecated = true;
   524                     nodeprecated = true;
   525                     return true;
   525                     return true;
   526                 }
   526                 }
   527             },
   527             },
   528             new Option(this, "nosince") {
   528             new Option(this, "-nosince") {
   529                 @Override
   529                 @Override
   530                 public boolean process(String opt, ListIterator<String> args) {
   530                 public boolean process(String opt, ListIterator<String> args) {
   531                     optionsProcessed.add(this);
   531                     optionsProcessed.add(this);
   532                     nosince = true;
   532                     nosince = true;
   533                     return true;
   533                     return true;
   534                 }
   534                 }
   535             },
   535             },
   536             new Option(this, "notimestamp") {
   536             new Option(this, "-notimestamp") {
   537                 @Override
   537                 @Override
   538                 public boolean process(String opt, ListIterator<String> args) {
   538                 public boolean process(String opt, ListIterator<String> args) {
   539                     optionsProcessed.add(this);
   539                     optionsProcessed.add(this);
   540                     notimestamp = true;
   540                     notimestamp = true;
   541                     return true;
   541                     return true;
   542                 }
   542                 }
   543             },
   543             },
   544             new Option(this, "noqualifier", 1) {
   544             new Option(this, "-noqualifier", 1) {
   545                 @Override
   545                 @Override
   546                 public boolean process(String opt, ListIterator<String> args) {
   546                 public boolean process(String opt, ListIterator<String> args) {
   547                     optionsProcessed.add(this);
   547                     optionsProcessed.add(this);
   548                     addToSet(excludedQualifiers, args.next());
   548                     addToSet(excludedQualifiers, args.next());
   549                     return true;
   549                     return true;
   550                 }
   550                 }
   551             },
   551             },
   552             new Hidden(this, "quiet") {
   552             new Hidden(this, "-quiet") {
   553                 @Override
   553                 @Override
   554                 public boolean process(String opt, ListIterator<String> args) {
   554                 public boolean process(String opt, ListIterator<String> args) {
   555                     optionsProcessed.add(this);
   555                     optionsProcessed.add(this);
   556                     quiet = true;
   556                     quiet = true;
   557                     return true;
   557                     return true;
   558                 }
   558                 }
   559             },
   559             },
   560             new Option(this, "serialwarn") {
   560             new Option(this, "-serialwarn") {
   561                 @Override
   561                 @Override
   562                 public boolean process(String opt, ListIterator<String> args) {
   562                 public boolean process(String opt, ListIterator<String> args) {
   563                     optionsProcessed.add(this);
   563                     optionsProcessed.add(this);
   564                     serialwarn = true;
   564                     serialwarn = true;
   565                     return true;
   565                     return true;
   566                 }
   566                 }
   567             },
   567             },
   568             new Option(this, "sourcetab", 1) {
   568             new Option(this, "-sourcetab", 1) {
   569                 @Override
   569                 @Override
   570                 public boolean process(String opt, ListIterator<String> args) {
   570                 public boolean process(String opt, ListIterator<String> args) {
   571                     optionsProcessed.add(this);
   571                     optionsProcessed.add(this);
   572                     linksource = true;
   572                     linksource = true;
   573                     try {
   573                     try {
   582                         setTabWidth(DocletConstants.DEFAULT_TAB_STOP_LENGTH);
   582                         setTabWidth(DocletConstants.DEFAULT_TAB_STOP_LENGTH);
   583                     }
   583                     }
   584                     return true;
   584                     return true;
   585                 }
   585                 }
   586             },
   586             },
   587             new Option(this, "tag", 1) {
   587             new Option(this, "-tag", 1) {
   588                 @Override
   588                 @Override
   589                 public boolean process(String opt, ListIterator<String> args) {
   589                 public boolean process(String opt, ListIterator<String> args) {
   590                     optionsProcessed.add(this);
   590                     optionsProcessed.add(this);
   591                     ArrayList<String> list = new ArrayList<>();
   591                     ArrayList<String> list = new ArrayList<>();
   592                     list.add(opt);
   592                     list.add(opt);
   593                     list.add(args.next());
   593                     list.add(args.next());
   594                     customTagStrs.add(list);
   594                     customTagStrs.add(list);
   595                     return true;
   595                     return true;
   596                 }
   596                 }
   597             },
   597             },
   598              new Option(this, "taglet", 1) {
   598              new Option(this, "-taglet", 1) {
   599                 @Override
   599                 @Override
   600                 public boolean process(String opt, ListIterator<String> args) {
   600                 public boolean process(String opt, ListIterator<String> args) {
   601                     optionsProcessed.add(this);
   601                     optionsProcessed.add(this);
   602                     ArrayList<String> list = new ArrayList<>();
   602                     ArrayList<String> list = new ArrayList<>();
   603                     list.add(opt);
   603                     list.add(opt);
   604                     list.add(args.next());
   604                     list.add(args.next());
   605                     customTagStrs.add(list);
   605                     customTagStrs.add(list);
   606                     return true;
   606                     return true;
   607                 }
   607                 }
   608             },
   608             },
   609             new Option(this, "tagletpath", 1) {
   609             new Option(this, "-tagletpath", 1) {
   610                 @Override
   610                 @Override
   611                 public boolean process(String opt, ListIterator<String> args) {
   611                 public boolean process(String opt, ListIterator<String> args) {
   612                     optionsProcessed.add(this);
   612                     optionsProcessed.add(this);
   613                     tagletpath = args.next();
   613                     tagletpath = args.next();
   614                     return true;
   614                     return true;
   615                 }
   615                 }
   616             },
   616             },
   617             new Option(this, "version") {
   617             new Option(this, "-version") {
   618                 @Override
   618                 @Override
   619                 public boolean process(String opt, ListIterator<String> args) {
   619                 public boolean process(String opt, ListIterator<String> args) {
   620                     optionsProcessed.add(this);
   620                     optionsProcessed.add(this);
   621                     showversion = true;
   621                     showversion = true;
   622                     return true;
   622                     return true;
  1081 
  1081 
  1082         protected final Configuration c;
  1082         protected final Configuration c;
  1083 
  1083 
  1084         protected Option(Configuration config, String keyName, String name, int argCount) {
  1084         protected Option(Configuration config, String keyName, String name, int argCount) {
  1085             c = config;
  1085             c = config;
       
  1086             this.name = name;
  1086             String key = keyName + "name";
  1087             String key = keyName + "name";
  1087             String oname = getOptionsMessage(key);
  1088             String oname = getOptionsMessage(key);
  1088             if (oname.isEmpty()) {
  1089             if (oname.isEmpty()) {
  1089                 this.name = name;
       
  1090                 this.parameters = "<MISSING KEY>";
  1090                 this.parameters = "<MISSING KEY>";
  1091                 this.description = "<MISSING KEY>";
  1091                 this.description = "<MISSING KEY>";
  1092             } else {
  1092             } else {
  1093                 this.name = oname;
       
  1094                 this.parameters = getOptionsMessage(keyName + "parameters");
  1093                 this.parameters = getOptionsMessage(keyName + "parameters");
  1095                 this.description = getOptionsMessage(keyName + "description");
  1094                 this.description = getOptionsMessage(keyName + "description");
  1096             }
  1095             }
  1097             this.argCount = argCount;
  1096             this.argCount = argCount;
  1098         }
  1097         }
  1099 
  1098 
  1100         protected Option(String prefix, Configuration config, String name, int argCount) {
  1099         protected Option(String prefix, Configuration config, String name, int argCount) {
  1101             this(config, prefix + name.toLowerCase() + ".", name, argCount);
  1100             this(config, prefix + name.toLowerCase().replaceAll("^-*", "") + ".", name, argCount);
  1102         }
  1101         }
  1103 
  1102 
  1104         protected Option(Configuration config, String name, int argCount) {
  1103         protected Option(Configuration config, String name, int argCount) {
  1105             this("doclet.usage.", config,  name, argCount);
  1104             this("doclet.usage.", config,  name, argCount);
  1106         }
  1105         }
  1144         @Override
  1143         @Override
  1145         public String toString() {
  1144         public String toString() {
  1146             String opt = name + (name.endsWith(":") ? "" : " ") + parameters;
  1145             String opt = name + (name.endsWith(":") ? "" : " ") + parameters;
  1147             int optlen = opt.length();
  1146             int optlen = opt.length();
  1148             int spaces = 32 - optlen;
  1147             int spaces = 32 - optlen;
  1149             StringBuffer sb = new StringBuffer("  -").append(opt);
  1148             StringBuffer sb = new StringBuffer("  ").append(opt);
  1150             for (int i = 0; i < spaces; i++) {
  1149             for (int i = 0; i < spaces; i++) {
  1151                 sb.append(" ");
  1150                 sb.append(" ");
  1152             }
  1151             }
  1153             sb.append(description);
  1152             sb.append(description);
  1154             return sb.toString();
  1153             return sb.toString();
  1159             return argCount;
  1158             return argCount;
  1160         }
  1159         }
  1161 
  1160 
  1162         @Override
  1161         @Override
  1163         public boolean matches(String option) {
  1162         public boolean matches(String option) {
  1164             String arg = option.startsWith("-") ? option.substring(1) : option;
  1163             return name.toLowerCase().equals(option.toLowerCase());
  1165             return name.toLowerCase().equals(arg.toLowerCase());
       
  1166         }
  1164         }
  1167 
  1165 
  1168         @Override
  1166         @Override
  1169         public int compareTo(Option that) {
  1167         public int compareTo(Option that) {
  1170             return this.getName().compareTo(that.getName());
  1168             return this.getName().compareTo(that.getName());