package se.kodapan.lang;
import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;
/**
* @author kalle
* @since 2013-05-04 17:38
*/
public class InternImpl<T> implements Intern<T>, Serializable {
private static final long serialVersionUID = 1l;
private Map<T, T> map = new HashMap<T, T>();
@Override
public T intern(T object) {
T interned = map.get(object);
if (interned == null) {
map.put(object, object);
interned = object;
}
return interned;
}
@Override
public String toString() {
return "InternImpl{" +
"map.size=" + map.size() +
'}';
}
}