mirror of
https://github.com/yacy/yacy_search_server.git
synced 2024-09-19 00:01:41 +02:00
added more features to ScoreMap (pretty toString)
This commit is contained in:
parent
f36a7da5f6
commit
0af7803367
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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>();
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue
Block a user