1 17 package test; 18 19 import org.apache.tools.ant.Task; 20 import org.apache.tools.ant.TaskContainer; 21 import org.apache.tools.ant.BuildException; 22 import org.apache.tools.ant.types.FileSet; 23 import org.apache.tools.ant.taskdefs.Echo; 24 import java.util.*; 25 26 public class SpecialSeq extends Task implements TaskContainer { 27 28 private Vector nestedTasks = new Vector(); 29 30 private FileSet fileset; 31 32 private Echo nestedEcho; 33 34 40 public void addTask(Task nestedTask) { 41 nestedTasks.addElement(nestedTask); 42 } 43 44 47 public void execute() throws BuildException { 48 if (fileset == null || fileset.getDir(getProject()) == null) { 49 throw new BuildException("Fileset was not configured"); 50 } 51 for (Enumeration e = nestedTasks.elements(); e.hasMoreElements();) { 52 Task nestedTask = (Task) e.nextElement(); 53 nestedTask.perform(); 54 } 55 nestedEcho.reconfigure(); 56 nestedEcho.perform(); 57 } 58 59 public void addFileset(FileSet fileset) { 60 this.fileset = fileset; 61 } 62 63 public void addNested(Echo nestedEcho) { 64 this.nestedEcho = nestedEcho; 65 } 66 } 67 | Popular Tags |