Author: toad
Date: 2007-06-15 15:42:57 +0000 (Fri, 15 Jun 2007)
New Revision: 13603
Modified:
trunk/freenet/src/freenet/support/SimpleFieldSet.java
Log:
Add putAllOverwrite
Modified: trunk/freenet/src/freenet/support/SimpleFieldSet.java
===================================================================
--- trunk/freenet/src/freenet/support/SimpleFieldSet.java 2007-06-14
16:59:46 UTC (rev 13602)
+++ trunk/freenet/src/freenet/support/SimpleFieldSet.java 2007-06-15
15:42:57 UTC (rev 13603)
@@ -204,6 +204,29 @@
}
/**
+ * Put contents of a fieldset, overwrite old values.
+ */
+ public void putAllOverwrite(SimpleFieldSet fs) {
+ Iterator i = fs.values.keySet().iterator();
+ while(i.hasNext()) {
+ String key = (String) i.next();
+ String hisVal = (String) fs.values.get(key);
+ values.put(key, hisVal); // overwrite old
+ }
+ i = fs.subsets.keySet().iterator();
+ while(i.hasNext()) {
+ String key = (String) i.next();
+ SimpleFieldSet hisFS = (SimpleFieldSet) fs.subsets.get(key);
+ SimpleFieldSet myFS = (SimpleFieldSet) subsets.get(key);
+ if(myFS != null) {
+ myFS.putAllOverwrite(hisFS);
+ } else {
+ subsets.put(key, hisFS);
+ }
+ }
+ }
+
+ /**
* Set a key to a value. If the value already exists, throw
IllegalStateException.
* @param key The key.
* @param value The value.