Methods Summary |
---|
public boolean | eval()Evalute the condition.
validate();
DeweyDecimal actual = getVersion();
if (null != atLeast) {
return actual.isGreaterThanOrEqual(new DeweyDecimal(atLeast));
}
if (null != exactly) {
return actual.isEqual(new DeweyDecimal(exactly));
}
//default
return false;
|
public java.lang.String | getAtLeast()Get the atleast attribute.
return atLeast;
|
public java.lang.String | getExactly()Get the exactly attribute.
return exactly;
|
private org.apache.tools.ant.util.DeweyDecimal | getVersion()
Project p = new Project();
p.init();
char[] versionString = p.getProperty("ant.version").toCharArray();
StringBuffer sb = new StringBuffer();
boolean foundFirstDigit = false;
for (int i = 0; i < versionString.length; i++) {
if (Character.isDigit(versionString[i])) {
sb.append(versionString[i]);
foundFirstDigit = true;
}
if (versionString[i] == '." && foundFirstDigit) {
sb.append(versionString[i]);
}
if (Character.isLetter(versionString[i]) && foundFirstDigit) {
break;
}
}
return new DeweyDecimal(sb.toString());
|
public void | setAtLeast(java.lang.String atLeast)Set the atleast attribute.
This is of the form major.minor.point.
For example 1.7.0.
this.atLeast = atLeast;
|
public void | setExactly(java.lang.String exactly)Set the exactly attribute.
This is of the form major.minor.point.
For example 1.7.0.
this.exactly = exactly;
|
private void | validate()
if (atLeast != null && exactly != null) {
throw new BuildException("Only one of atleast or exactly may be set.");
}
if (null == atLeast && null == exactly) {
throw new BuildException("One of atleast or exactly must be set.");
}
try {
if (atLeast != null) {
new DeweyDecimal(atLeast);
} else {
new DeweyDecimal(exactly);
}
} catch (NumberFormatException e) {
throw new BuildException("The argument is not a Dewey Decimal eg 1.1.0");
}
|