package play.i18n; import java.util.HashMap; import java.util.HashSet; import java.util.Map; import java.util.Set; /** * A localized object */ public class Localized<T> { private Map<String, T> values = new HashMap<String, T>(); public void set(T value) { this.values.put(Lang.get(), value); } public void set(String lang, T value) { this.values.put(lang, value); } public T get() { return this.values.get(Lang.get()); } public T get(String lang) { return this.values.get(lang); } @SuppressWarnings("unchecked") public Set<T> values() { return new HashSet(values.values()); } public Set<String> lang() { return values.keySet(); } @Override public String toString() { T value = get(); if (value == null) { return ""; } return value.toString(); } }