Author: toad
Date: 2007-04-24 11:49:52 +0000 (Tue, 24 Apr 2007)
New Revision: 12917
Modified:
trunk/freenet/src/freenet/support/SimpleFieldSet.java
Log:
Comments explaining the logic
Modified: trunk/freenet/src/freenet/support/SimpleFieldSet.java
===================================================================
--- trunk/freenet/src/freenet/support/SimpleFieldSet.java 2007-04-24
11:47:22 UTC (rev 12916)
+++ trunk/freenet/src/freenet/support/SimpleFieldSet.java 2007-04-24
11:49:52 UTC (rev 12917)
@@ -478,14 +478,17 @@
if(valuesIterator != null &&
valuesIterator.hasNext()) {
return prefix + valuesIterator.next();
}
+ // Iterate subsets.
while(true) {
- // Iterate subsets.
if(subIterator != null &&
subIterator.hasNext()) {
+ // If we have a retval, and we
have a next value, return
if(ret != null) return ret;
ret = (String)
subIterator.next();
if(subIterator.hasNext())
+ // If we have a retval,
and we have a next value, return
if(ret != null) return
ret;
}
+ // Otherwise, we need to get a new
subIterator (or hasNext() will return false)
subIterator = null;
if(subsetIterator != null &&
subsetIterator.hasNext()) {
String key = (String)
subsetIterator.next();
@@ -493,6 +496,7 @@
String newPrefix = prefix + key
+ MULTI_LEVEL_CHAR;
subIterator =
fs.keyIterator(newPrefix);
} else {
+ // No more subIterator's
if(ret == null)
Logger.error(this,
"Returning null from KeyIterator.nextKey() - should never happen!");
return ret;