2020-07-10 15:51:27 +02:00
|
|
|
package io.gitlab.jfronny.translater;
|
|
|
|
|
|
|
|
import java.util.Collection;
|
|
|
|
import java.util.Map;
|
|
|
|
import java.util.Set;
|
|
|
|
|
|
|
|
public class TransformingMap implements Map<String, String> {
|
|
|
|
private final Map<String, String> backer;
|
|
|
|
private final StringTransformer transformer;
|
|
|
|
|
|
|
|
public TransformingMap(Map<String, String> m, StringTransformer t) {
|
|
|
|
backer = m;
|
|
|
|
transformer = t;
|
2020-07-11 12:45:27 +02:00
|
|
|
Collection<String> strings = m.values();
|
|
|
|
int i = 0;
|
|
|
|
for (String value : strings) {
|
|
|
|
if (ModInit.cfg.verboseLogging) {
|
|
|
|
i++;
|
|
|
|
ModInit.Log("Transforming " + i + "/" + strings.size());
|
|
|
|
}
|
2020-07-10 15:51:27 +02:00
|
|
|
transformer.transform(value);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public int size() {
|
|
|
|
return backer.size();
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public boolean isEmpty() {
|
|
|
|
return backer.isEmpty();
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public boolean containsKey(Object o) {
|
|
|
|
return backer.containsKey(o);
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public boolean containsValue(Object o) {
|
|
|
|
return backer.containsValue(o);
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public String get(Object o) {
|
|
|
|
return transformer.transform(backer.get(o));
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public String put(String s, String s2) {
|
|
|
|
transformer.transform(s2);
|
|
|
|
return backer.put(s, s2);
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public String remove(Object o) {
|
|
|
|
return backer.remove(o);
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void putAll(Map<? extends String, ? extends String> map) {
|
|
|
|
for (String value : map.values()) {
|
|
|
|
transformer.transform(value);
|
|
|
|
}
|
|
|
|
backer.putAll(map);
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void clear() {
|
|
|
|
backer.clear();
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public Set<String> keySet() {
|
|
|
|
return backer.keySet();
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public Collection<String> values() {
|
|
|
|
return backer.values();
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public Set<Entry<String, String>> entrySet() {
|
|
|
|
return backer.entrySet();
|
|
|
|
}
|
|
|
|
}
|