View Javadoc

1   package rydeen;
2   
3   import rydeen.spi.ProcessorService;
4   
5   /**
6    * <p>
7    * Rydeenの1処理の基本となるクラスです.
8    * </p>
9    * <p>
10   * 1処理とは{@link TargetSource <code>TargetSource</code>}から順番に
11   * {@link ProcessTarget <code>ProcessTarget</code>}を取り出して処理を施し,
12   * {@link Destination <code>Destination</code>}に出力することを指します.
13   * </p><p>
14   * Rydeenでは1つの {@link TargetSource <code>TargetSource</code>}
15   * を処理するために複数のProcessorが起動します. これを1セッションと呼びます. 
16   * 各Processorは1セッションの間,重複しない名前を持ちます.
17   * また,1つのProcessorオブジェクトは1セッションの間に複数回
18   * {@link #execute <code>execute</code>}メソッドが呼び出されます.
19   * </p>
20   * 
21   * @author Haruaki Tamada
22   */
23  public interface Processor{
24      /**
25       * 1セッションの間,他と重複しない名前を返します.
26       */
27      public String getId();
28  
29      /**
30       * 1セッションの間,他と重複しない名前を設定します.
31       * @see #getId
32       */
33      public void setId(String id);
34  
35      /**
36       * 処理内容を表す単純な名前を返す.
37       */
38      public String getProcessorName();
39  
40      /**
41       * <p>
42       * Processorの初期設定を行います.
43       * </p><p>
44       * 初期化のパラメータは{@link #getArguments <code>getArguments</code>}
45       * で返される {@link Arguments <code>Arguments</code>}により行われます.
46       * </p>
47       */
48      public void init() throws ProcessorException;
49  
50      /**
51       * 実際に処理を行います.
52       * 
53       * @param source
54       * @param dest
55       * @throws ProcessorException
56       */
57      public void execute(TargetSource source, Destination dest) throws ProcessorException;
58  
59      /**
60       * 終了処理を行います.
61       * @throws ProcessorException
62       */
63      public void finish() throws ProcessorException;
64  
65      /**
66       * サービスプロバイダを返します.
67       * このメソッドは常にnullではない値を返します.
68       */
69      public ProcessorService getProvider();
70  
71      /**
72       * この処理器の現在設定されているパラメータを返します.
73       */
74      public Arguments getArguments();
75  
76      /**
77       * この処理器の処理内容を表すオブジェクトを返します.
78       */
79      public Summary getSummary();
80  }