diff --git a/src/main/java/org/springframework/classify/SubclassClassifier.java b/src/main/java/org/springframework/classify/SubclassClassifier.java index 373e8cd..dd7cce2 100644 --- a/src/main/java/org/springframework/classify/SubclassClassifier.java +++ b/src/main/java/org/springframework/classify/SubclassClassifier.java @@ -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 implements Classifier { - private Map, C> classified = new HashMap, C>(); + private ConcurrentMap, C> classified = new ConcurrentHashMap, C>(); private C defaultValue = null; @@ -63,7 +65,7 @@ public class SubclassClassifier implements Classifier { */ public SubclassClassifier(Map, C> typeMap, C defaultValue) { super(); - this.classified = new HashMap, C>(typeMap); + this.classified = new ConcurrentHashMap, C>(typeMap); this.defaultValue = defaultValue; } @@ -85,7 +87,7 @@ public class SubclassClassifier implements Classifier { * @param map a map from type to class */ public void setTypeMap(Map, C> map) { - this.classified = new HashMap, C>(map); + this.classified = new ConcurrentHashMap, C>(map); } /**