Author: mbenson
Date: Tue Jul 17 11:55:42 2007
New Revision: 557025
URL: http://svn.apache.org/viewvc?view=rev&rev=557025
Log:
Cloneable; update Delegate order on re-add
Modified:
ant/core/trunk/src/main/org/apache/tools/ant/PropertyHelper.java
Modified: ant/core/trunk/src/main/org/apache/tools/ant/PropertyHelper.java
URL:
http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/PropertyHelper.java?view=diff&rev=557025&r1=557024&r2=557025
==============================================================================
--- ant/core/trunk/src/main/org/apache/tools/ant/PropertyHelper.java (original)
+++ ant/core/trunk/src/main/org/apache/tools/ant/PropertyHelper.java Tue Jul 17
11:55:42 2007
@@ -57,7 +57,7 @@
*
* @since Ant 1.6
*/
-public class PropertyHelper {
+public class PropertyHelper implements Cloneable {
/**
* Marker interface for a PropertyHelper delegate.
@@ -198,6 +198,7 @@
* least for non-dynamic properties)
*
* @param next the next property helper in the chain.
+ * @deprecated
*/
public void setNext(PropertyHelper next) {
this.next = next;
@@ -207,6 +208,7 @@
* Get the next property helper in the chain.
*
* @return the next property helper.
+ * @deprecated
*/
public PropertyHelper getNext() {
return next;
@@ -707,7 +709,6 @@
* the return value is also <code>null</code>.
* @return the property value, or <code>null</code> for no match
* or if a <code>null</code> name is provided.
- * @deprecated namespaces are unnecessary.
*/
public synchronized Object getUserProperty(String name) {
if (name == null) {
@@ -909,9 +910,10 @@
list = new ArrayList();
delegates.put(key, list);
}
- if (!list.contains(delegate)) {
- list.add(0, delegate);
+ if (list.contains(delegate)) {
+ list.remove(delegate);
}
+ list.add(0, delegate);
}
}
@@ -939,6 +941,21 @@
if (Delegate.class.isAssignableFrom(c[i]) &&
!Delegate.class.equals(c[i])) {
result.add(c[i]);
}
+ }
+ return result;
+ }
+
+ /**
+ * Make a clone of this PropertyHelper.
+ * @return the cloned PropertyHelper.
+ * @since Ant 1.8
+ */
+ public Object clone() {
+ PropertyHelper result;
+ try {
+ result = (PropertyHelper) super.clone();
+ } catch (CloneNotSupportedException e) {
+ throw new BuildException(e);
}
return result;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]