1 package jp.sourceforge.stigmata.command;
3 import java.util.ResourceBundle;
5 import jp.sourceforge.stigmata.BirthmarkContext;
6 import jp.sourceforge.stigmata.BirthmarkEnvironment;
7 import jp.sourceforge.stigmata.ComparisonPairFilter;
8 import jp.sourceforge.stigmata.ComparisonPairFilterSet;
9 import jp.sourceforge.stigmata.Stigmata;
10 import jp.sourceforge.stigmata.spi.BirthmarkSpi;
11 import jp.sourceforge.talisman.xmlcli.ResourceHelpFormatter;
13 import org.apache.commons.cli.HelpFormatter;
14 import org.apache.commons.cli.Options;
18 * @author Haruaki Tamada
20 public class HelpCommand extends AbstractStigmataCommand{
21 private Options options;
23 public HelpCommand(Options options){
24 this.options = options;
28 public String getCommandString(){
33 public void perform(Stigmata stigmata, BirthmarkContext context, String[] args){
34 BirthmarkEnvironment env = context.getEnvironment();
35 Package p = getClass().getPackage();
37 ResourceBundle helpResource = ResourceBundle.getBundle("resources.options");
38 HelpFormatter formatter = new ResourceHelpFormatter(helpResource);
41 helpResource.getString("cli.interface"),
42 p.getImplementationVersion()
47 System.out.println(helpResource.getString("cli.interface.birthmarks"));
48 for(BirthmarkSpi service: env.getServices()){
49 if(!service.isExperimental()){
50 System.out.printf(" %-5s (%s): %s%n", service.getType(),
51 service.getDisplayType(), service.getDescription());
55 System.out.println(helpResource.getString("cli.interface.filters"));
56 for(ComparisonPairFilterSet filterset: env.getFilterManager().getFilterSets()){
57 String matchString = helpResource.getString("cli.interface.filter.matchall");
58 if(filterset.isMatchAny()) matchString = helpResource.getString("cli.interface.filter.matchany");
59 System.out.printf(" %s (%s)%n", filterset.getName(), matchString);
60 for(ComparisonPairFilter filter: filterset){
61 System.out.printf(" %s%n", filter);
65 System.out.println(helpResource.getString("cli.interface.copyright"));
66 System.out.println(helpResource.getString("cli.interface.mailto"));