Use concurrent map in classifier

This commit is contained in:
Dave Syer
2011-04-05 11:57:50 +01:00
parent fb198b7e7a
commit df8941eb60

View File

@@ -21,6 +21,8 @@ import java.util.HashMap;
import java.util.Map;
import java.util.Set;
import java.util.TreeSet;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
/**
* A {@link Classifier} for a parameterised object type based on a map.
@@ -35,7 +37,7 @@ import java.util.TreeSet;
*/
public class SubclassClassifier<T, C> implements Classifier<T, C> {
private Map<Class<? extends T>, C> classified = new HashMap<Class<? extends T>, C>();
private ConcurrentMap<Class<? extends T>, C> classified = new ConcurrentHashMap<Class<? extends T>, C>();
private C defaultValue = null;
@@ -63,7 +65,7 @@ public class SubclassClassifier<T, C> implements Classifier<T, C> {
*/
public SubclassClassifier(Map<Class<? extends T>, C> typeMap, C defaultValue) {
super();
this.classified = new HashMap<Class<? extends T>, C>(typeMap);
this.classified = new ConcurrentHashMap<Class<? extends T>, C>(typeMap);
this.defaultValue = defaultValue;
}
@@ -85,7 +87,7 @@ public class SubclassClassifier<T, C> implements Classifier<T, C> {
* @param map a map from type to class
*/
public void setTypeMap(Map<Class<? extends T>, C> map) {
this.classified = new HashMap<Class<? extends T>, C>(map);
this.classified = new ConcurrentHashMap<Class<? extends T>, C>(map);
}
/**