added more features to ScoreMap (pretty toString)

This commit is contained in:
Michael Peter Christen 2013-04-29 19:28:17 +02:00
parent f36a7da5f6
commit 0af7803367
5 changed files with 35 additions and 12 deletions

View File

@ -25,6 +25,8 @@
package net.yacy.cora.sorting;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
@ -72,4 +74,25 @@ public abstract class AbstractScoreMap<E> implements ScoreMap<E> {
return list;
*/
}
public Collection<E> keyList(final boolean up) {
List<E> list = new ArrayList<E>(this.size());
Iterator<E> i = this.keys(up);
while (i.hasNext()) list.add(i.next());
return list;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append('[');
Iterator<E> i = this.keys(false);
while (i.hasNext()) {
E e = i.next();
String s = e.toString();
sb.append(s.length() == 0 ? "\"\"" : s).append('/').append(Integer.toString(this.get(e))).append(',');
}
if (sb.length() == 1) sb.append(']'); else sb.replace(sb.length() - 1, sb.length(), "]");
return sb.toString();
}
}

View File

@ -276,11 +276,6 @@ public final class ClusteredScoreMap<E> extends AbstractScoreMap<E> implements R
return this.pam.get(this.pam.firstKey());
}
@Override
public String toString() {
return this.map + " / " + this.pam;
}
@Override
public synchronized Iterator<E> keys(final boolean up) {
if (up) return new simpleScoreIterator<E>();

View File

@ -217,11 +217,6 @@ public class OrderedScoreMap<E> extends AbstractScoreMap<E> implements ScoreMap<
return minScore;
}
@Override
public String toString() {
return this.map.toString();
}
public Iterator<E> keys(final boolean up) {
synchronized (this.map) {
// re-organize entries
@ -251,7 +246,7 @@ public class OrderedScoreMap<E> extends AbstractScoreMap<E> implements ScoreMap<
return r.iterator();
}
}
public static void main(String[] args) {
OrderedScoreMap<StringBuilder> w = new OrderedScoreMap<StringBuilder>(StringBuilderComparator.CASE_INSENSITIVE_ORDER);
Random r = new Random();

View File

@ -24,6 +24,7 @@
package net.yacy.cora.sorting;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
@ -65,8 +66,10 @@ public interface ScoreMap<E> extends Iterable<E> {
@Override
public String toString();
public Iterator<E> keys(final boolean up);
public Collection<E> keyList(final boolean up);
public void inc(final E obj);
public void inc(final E obj, final int incrementScore);

View File

@ -445,6 +445,13 @@ public class serverObjects implements Serializable, Cloneable {
return s.equals("true") || s.equals("on") || s.equals("1");
}
public boolean getBoolean(final String key, final boolean dflt) {
String s = removeByteOrderMark(get(key));
if (s == null) return dflt;
s = s.toLowerCase();
return s.equals("true") || s.equals("on") || s.equals("1");
}
// returns a set of all values where their key mappes the keyMapper
public String[] getAll(final String keyMapper) {
// the keyMapper may contain regular expressions as defined in String.matches