@@ -39,8 +39,11 @@ public class Equals implements Condition {
* @since Ant 1.8
* @since Ant 1.8
*/
*/
public void setArg1(Object arg1) {
public void setArg1(Object arg1) {
this.arg1 = arg1;
args |= 1;
if (arg1 instanceof String) {
setArg1((String) arg1);
} else {
setArg1Internal(arg1);
}
}
}
/**
/**
@@ -49,17 +52,25 @@ public class Equals implements Condition {
* @param a1 the first string
* @param a1 the first string
*/
*/
public void setArg1(String a1) {
public void setArg1(String a1) {
setArg1((Object) a1);
setArg1Internal( a1);
}
}
private void setArg1Internal(Object arg1) {
this.arg1 = arg1;
args |= 1;
}
/**
/**
* Set the second argument
* Set the second argument
* @param arg2 the second argument.
* @param arg2 the second argument.
* @since Ant 1.8
* @since Ant 1.8
*/
*/
public void setArg2(Object arg2) {
public void setArg2(Object arg2) {
this.arg2 = arg2;
args |= 2;
if (arg2 instanceof String) {
setArg2((String) arg2);
} else {
setArg2Internal(arg2);
}
}
}
/**
/**
@@ -68,9 +79,14 @@ public class Equals implements Condition {
* @param a2 the second string
* @param a2 the second string
*/
*/
public void setArg2(String a2) {
public void setArg2(String a2) {
setArg2((Object) a2);
setArg2Internal( a2);
}
}
private void setArg2Internal(Object arg2) {
this.arg2 = arg2;
args |= 2;
}
/**
/**
* Should we want to trim the arguments before comparing them?
* Should we want to trim the arguments before comparing them?
* @param b if true trim the arguments
* @param b if true trim the arguments
@@ -99,13 +115,15 @@ public class Equals implements Condition {
throw new BuildException("both arg1 and arg2 are required in equals");
throw new BuildException("both arg1 and arg2 are required in equals");
}
}
if (arg1 instanceof String && trim) {
arg1 = ((String) arg1).trim();
}
if (arg2 instanceof String && trim) {
arg2 = ((String) arg2).trim();
}
if (arg1 instanceof String && arg2 instanceof String) {
if (arg1 instanceof String && arg2 instanceof String) {
String s1 = (String) arg1;
String s1 = (String) arg1;
String s2 = (String) arg2;
String s2 = (String) arg2;
if (trim) {
s1 = s1.trim();
s2 = s2.trim();
}
return caseSensitive ? s1.equals(s2) : s1.equalsIgnoreCase(s2);
return caseSensitive ? s1.equals(s2) : s1.equalsIgnoreCase(s2);
}
}
return arg1 == arg2 || arg1 != null && arg1.equals(arg2);
return arg1 == arg2 || arg1 != null && arg1.equals(arg2);