View Javadoc

1   package rydeen;
2   
3   import java.io.IOException;
4   import java.io.InputStream;
5   
6   /**
7    * Rydeenの処理対象となるものを表すためのインターフェースです.
8    *
9    * @author Haruaki Tamada
10   */
11  public interface ProcessTarget{
12      /**
13       * <p>
14       * このProcessTargetの名前を返します.
15       * 1セッションの間,このメソッドが返す名前と,このオブジェクトが所属するTargetSourceによって,
16       * ProcessTargetを一意に特定できます.
17       * </p>
18       *
19       * @return このProcessTargetの名前
20       */
21      public String getName();
22  
23      /**
24       * <p>
25       * このProcessTargetがクラスファイルであった場合,クラス名を返します.
26       * このメソッドで得られた名前は他のProcessTargetと重複する可能性があります.
27       * </p><p>
28       * このProcessTargetがクラスファイルでない場合(getTypeがTargetType.CLASS_FILE以外を返す場合),
29       * このメソッドはIllegalStateExceptionが投げられます.
30       * </p>
31       * 
32       * @return このProcessTargetが表すクラスの名前
33       */
34      public String getClassName();
35  
36      /**
37       * このProcessTargetのデータを読み込むための入力ストリームを返します.
38       * 
39       * @return 入力ストリーム
40       * @throws IOException 入出力エラーが起こった場合
41       */
42      public InputStream getSource() throws IOException;
43  
44      /**
45       * このProcessTargetの種類を返します.
46       *
47       * @return このオブジェクトの種類
48       * @see TargetType
49       */
50      public TargetType getType();
51  
52      /**
53       * このProcessTargetが所属するProcessTargetを返します.
54       */
55      public TargetSource getTargetSource();
56  }