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 }