| 1 28 29 package com.idaremedia.antx.condition; 30 31 import org.apache.tools.ant.BuildException; 32 import org.apache.tools.ant.Project; 33 import org.apache.tools.ant.taskdefs.Available; 34 import org.apache.tools.ant.taskdefs.condition.Condition; 35 import org.apache.tools.ant.types.Path; 36 import org.apache.tools.ant.types.Reference; 37 38 import com.idaremedia.antx.AssertableProjectComponent; 39 import com.idaremedia.antx.helpers.Strings; 40 41 53 54 public final class IsClass extends AssertableProjectComponent 55 implements Condition, URIable 56 { 57 60 public IsClass() 61 { 62 m_impl = new Available(); 63 } 64 65 66 67 72 public IsClass(String value) 73 { 74 this(); 75 setName(value); 76 } 77 78 79 80 84 public void setProject(Project p) 85 { 86 super.setProject(p); 87 m_impl.setProject(p); 88 } 89 90 91 92 96 public void setName(String classname) 97 { 98 require_(classname!=null,"setval- nonzro clazname"); 99 m_impl.setClassname(classname); 100 } 101 102 103 104 108 public void setClasspath(Path classpath) 109 { 110 require_(classpath!=null,"setCP- nonzro cp"); 111 m_impl.setClasspath(classpath); 112 } 113 114 115 116 120 public void setClasspathRef(Reference r) 121 { 122 require_(r!=null,"setCPref- nonzro cp refid"); 123 m_impl.setClasspathRef(r); 124 } 125 126 127 128 133 public void setSystemClasses(boolean include) 134 { 135 m_impl.setIgnoresystemclasses(!include); 136 } 137 138 139 140 145 public void setTrueProperty(String property) 146 { 147 require_(property!=null,"setTrueProp- nonzro name"); 148 m_updateProperty = property; } 150 151 152 153 158 public final String getTrueProperty() 159 { 160 return m_updateProperty; 161 } 162 163 164 165 171 public void xsetFromURI(String fragment) 172 { 173 setName(fragment); 174 } 175 176 177 178 182 public boolean eval() throws BuildException 183 { 184 verifyInProject_("eval"); 185 186 boolean istrue = m_impl.eval(); 187 188 if (istrue && m_updateProperty!=null) { 189 log("IsClass was true; setting true-property '"+m_updateProperty+ 190 "' property", Project.MSG_DEBUG); 191 getProject().setNewProperty(m_updateProperty,Strings.TRUE); 192 } 193 194 return istrue; 195 } 196 197 198 private Available m_impl; 199 private String m_updateProperty; 200 } 201 202 203 | Popular Tags |