OSDN Git Service

update command line interface, and introduce command pattern in Main class
[stigmata/stigmata.git] / src / main / java / jp / sourceforge / stigmata / command / GuiCommand.java
1 package jp.sourceforge.stigmata.command;
2
3 /*
4  * $Id$
5  */
6
7 import jp.sourceforge.stigmata.BirthmarkContext;
8 import jp.sourceforge.stigmata.BirthmarkEnvironment;
9 import jp.sourceforge.stigmata.Stigmata;
10 import jp.sourceforge.stigmata.hook.Phase;
11 import jp.sourceforge.stigmata.hook.StigmataHookManager;
12 import jp.sourceforge.stigmata.ui.swing.StigmataFrame;
13
14 /**
15  * 
16  * @author Haruaki Tamada
17  * @version $Revision$
18  */
19 public class GuiCommand extends AbstractStigmataCommand{
20     public void perform(Stigmata stigmata, BirthmarkContext context, String[] args){
21         StigmataFrame frame = new StigmataFrame(stigmata, context.getEnvironment());
22         frame.setVisible(true);
23     }
24
25     @Override
26     public String getCommandString(){
27         return "gui";
28     }
29
30     @Override
31     public void tearDown(final BirthmarkEnvironment env){
32         Runtime.getRuntime().addShutdownHook(new Thread(){
33             public void run(){
34                 StigmataHookManager.getInstance().runHook(
35                     Phase.TEAR_DOWN, env
36                 );
37             }
38         });        
39     }
40 }