package org.radargun; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; import org.infinispan.persistence.keymappers.TwoWayKey2StringMapper; /** * Hackish generic implementation - keeps all objects in a map for reverse mapping. * Requires that the key was stored before it is read from cachestore - no preloading! * * @author Radim Vansa <rvansa@redhat.com> */ public class ObjectToStringMapper implements TwoWayKey2StringMapper { private ConcurrentMap<String, Object> map = new ConcurrentHashMap<String, Object>(); @Override public boolean isSupportedType(Class<?> keyType) { return true; } @Override public String getStringMapping(Object key) { String string = key.toString(); map.putIfAbsent(string, key); return string; } @Override public Object getKeyMapping(String stringKey) { return map.get(stringKey); } }