EnumeratedAttribute
Antタスクの属性で、「ある決まった値の中から1つのみを指定させる」というようにしたい場合がある。
例えば、echoタスクのlevel属性の指定(errorやらinfoやら)みたいに。
これを実現するためのクラスとして、EnumeratedAttributeがある。
これを使えば、EclipseのAntエディタでコード補完したときに、
属性の値を選択肢から選べるようになる。
んで、このように使うらしい。
public class TekitouTask extends Task {
public static class MyEnumAttr extends EnumeratedAttribute {
public String[] getValues() {
return new String[]{"ykhr", "kokko", "hogefoo"};
}
}
private String attr;
public void setAttr(MyEnumAttr attr) {
this.attr = attr.getValue();
}
public void execute() throws BuildException {
if (attr == null) {
throw new BuildException("attr is null.");
}
System.out.println(attr);
}
}
意外に簡単なんだなぁ。
使えばよかったorz