1 18 19 package org.apache.tools.ant.taskdefs.condition; 20 21 import org.apache.tools.ant.BuildException; 22 import org.apache.tools.ant.ComponentHelper; 23 import org.apache.tools.ant.ProjectComponent; 24 import org.apache.tools.ant.ProjectHelper; 25 import org.apache.tools.ant.AntTypeDefinition; 26 import org.apache.tools.ant.Project; 27 28 33 public class TypeFound extends ProjectComponent implements Condition { 34 35 private String name; 36 private String uri; 37 38 42 public void setName(String name) { 43 this.name = name; 44 } 45 46 51 public void setURI(String uri) { 52 this.uri = uri; 53 } 54 55 60 protected boolean doesTypeExist(String typename) { 61 62 ComponentHelper helper = 63 ComponentHelper.getComponentHelper(getProject()); 64 String componentName = ProjectHelper.genComponentName(uri, typename); 65 AntTypeDefinition def = helper.getDefinition(componentName); 66 if (def == null) { 67 return false; 68 } 69 boolean found = def.getExposedClass(getProject()) != null; 71 if (!found) { 72 String text = helper.diagnoseCreationFailure(componentName, "type"); 73 log(text, Project.MSG_VERBOSE); 74 } 75 return found; 76 } 77 78 79 84 public boolean eval() throws BuildException { 85 if (name == null) { 86 throw new BuildException("No type specified"); 87 } 88 return doesTypeExist(name); 89 } 90 } 91 | Popular Tags |