1    package com.instantbank.lettertemplate.control.ejb.handlers;
2    
3    import com.instantbank.lettertemplate.control.ejb.StateMachine;
4    import com.instantbank.lettertemplate.control.LetterTemplateEventException;
5    import com.instantbank.lettertemplate.control.event.LetterTemplateEvent;
6    
7    /**
8     *  Interface for event handlers
9     *
10    * @author Instant-bank (Consuelo Franky)
11    * @created August 2002
12    */
13   public interface StateHandler {
14   
15     /**
16      *  init
17      *
18      * @param urc reference to StateMachine
19      */
20     public void init(StateMachine urc);
21   
22   
23     /**
24      *  doStart: before processing event
25      */
26     public void doStart();
27   
28   
29     /**
30      *  process event
31      *
32      * @param event event corresponding to user request
33      * @return answer to event processing
34      * @exception LetterTemplateEventException
35      */
36     public Object perform(LetterTemplateEvent event)
37        throws LetterTemplateEventException;
38   
39   
40     /**
41      *  doEnd: after processing event
42      */
43     public void doEnd();
44   }
45   
46