1 package jp.sourceforge.stigmata.command;
7 import java.io.FileWriter;
8 import java.io.IOException;
9 import java.io.PrintWriter;
11 import jp.sourceforge.stigmata.BirthmarkContext;
12 import jp.sourceforge.stigmata.Stigmata;
13 import jp.sourceforge.stigmata.printer.BirthmarkServicePrinter;
14 import jp.sourceforge.stigmata.spi.BirthmarkSpi;
15 import jp.sourceforge.stigmata.spi.ResultPrinterSpi;
19 * @author Haruaki Tamada
22 public class ListBirthmarksCommand extends AbstractStigmataCommand{
24 public String getCommandString(){
25 return "list-birthmarks";
28 public void perform(Stigmata stigmata, BirthmarkContext context, String[] args){
29 BirthmarkSpi[] spis = context.getEnvironment().findServices();
30 ResultPrinterSpi spi = stigmata.getPrinterManager().getService(context.getFormat());
31 BirthmarkServicePrinter formatter = spi.getBirthmarkServicePrinter();
36 out = new PrintWriter(System.out);
39 String target = validateTarget(args[0], context.getFormat());
40 out = new PrintWriter(new FileWriter(target));
42 formatter.printResult(out, spis);
43 }catch(IOException e){
48 private String validateTarget(String fileName, String format){
49 if(!fileName.endsWith("." + format)){
50 fileName = fileName + "." + format;