此处参考示例:https://ant.apache.org/manual/tutorial-tasks-filesets-properties.html
import org.apache.tools.ant.BuildException;
public class Find extends Task {
private String property;
private String value;
private String print;
public void setProperty(String property) {
this.property = property;
}
// setter for value and print
public void execute() {
if (print != null) {
String propValue = getProject().getProperty(print);
log(propValue);
} else {
if (property == null) throw new BuildException("property not set");
if (value == null) throw new BuildException("value not set");
getProject().setNewProperty(property, value);
}
}
}
示例扩展了Ant任务以构建自定义任务。给定的ant任务脚本
<find property="test" value="test-value"/>
<find print="test"/>
脚本正在设置两个属性"property"one_answers"print"的值。我的问题是蚂蚁如何确定它必须调用"setProperty"方法来设置"property"属性的值?基本上蚂蚁如何确定从类调用哪个方法?
From Writing Your Own Task:
为每个属性编写一个setter方法。setter方法必须是接受单个参数的公共void方法。方法名必须以set开头,后跟属性名,其中名称的第一个字符为大写,其余字符为小写*。也就是说,要支持一个名为file的属性,您需要创建一个方法setFile。
摘自任务的生命周期:
- …
- 该任务的所有属性在运行时通过相应的setXXX方法设置。
- …