1 18 package org.apache.tools.ant.types.optional; 19 20 import java.io.File ; 21 22 import org.apache.tools.ant.BuildException; 23 import org.apache.tools.ant.Project; 24 import org.apache.tools.ant.types.Path; 25 import org.apache.tools.ant.types.Reference; 26 import org.apache.tools.ant.types.selectors.BaseSelector; 27 import org.apache.tools.ant.util.ScriptRunnerBase; 28 import org.apache.tools.ant.util.ScriptRunnerHelper; 29 30 34 public class ScriptSelector extends BaseSelector { 35 36 39 private ScriptRunnerHelper helper = new ScriptRunnerHelper(); 40 41 44 private ScriptRunnerBase runner; 45 46 49 private File basedir; 50 private String filename; 51 private File file; 52 53 56 private boolean selected; 57 58 62 public void setProject(Project project) { 63 super.setProject(project); 64 helper.setProjectComponent(this); 65 } 66 67 72 public void setManager(String manager) { 73 helper.setManager(manager); 74 } 75 76 81 public void setLanguage(String language) { 82 helper.setLanguage(language); 83 } 84 85 91 private void init() throws BuildException { 92 if (runner != null) { 93 return; 94 } 95 runner = helper.getScriptRunner(); 96 } 97 98 103 public void setSrc(File file) { 104 helper.setSrc(file); 105 } 106 107 112 public void addText(String text) { 113 helper.addText(text); 114 } 115 116 121 public void setClasspath(Path classpath) { 122 helper.setClasspath(classpath); 123 } 124 125 130 public Path createClasspath() { 131 return helper.createClasspath(); 132 } 133 134 140 public void setClasspathRef(Reference r) { 141 helper.setClasspathRef(r); 142 } 143 144 154 public void setSetBeans(boolean setBeans) { 155 helper.setSetBeans(setBeans); 156 } 157 158 169 public boolean isSelected(File basedir, String filename, File file) { 170 init(); 171 setSelected(true); 172 this.file = file; 173 this.basedir = basedir; 174 this.filename = filename; 175 runner.addBean("basedir", basedir); 176 runner.addBean("filename", filename); 177 runner.addBean("file", file); 178 runner.executeScript("ant_selector"); 179 return isSelected(); 180 } 181 182 186 public File getBasedir() { 187 return basedir; 188 } 189 190 194 public String getFilename() { 195 return filename; 196 } 197 198 202 public File getFile() { 203 return file; 204 } 205 206 210 public boolean isSelected() { 211 return selected; 212 } 213 214 219 public void setSelected(boolean selected) { 220 this.selected = selected; 221 } 222 223 } 224 | Popular Tags |