/*
* Copyright (C) 2012 Nicolas Peransin. All rights reserved.
* Use is subject to license terms.
*/
package org.mypsycho.text;
import java.awt.Component;
import java.text.MessageFormat;
import java.util.Locale;
/**
* Class for ...
* <p>Details</p>
*
* @author Peransin Nicolas
*/
public class EnumTextMap extends TextMap {
/**
*
*/
private static final long serialVersionUID = -309691924972866089L;
/**
*
*/
public EnumTextMap() {
}
/**
* @param src
*/
public EnumTextMap(Component src) {
super(src);
}
/**
* @param p
* @param locale
*/
public EnumTextMap(EnumPrefix p, Locale locale) {
super(p, locale);
}
/**
* @param p
* @param src
*/
public EnumTextMap(EnumPrefix p, Localized src) {
super(p, src);
}
/**
* @param locale
*/
public EnumTextMap(Locale locale) {
super(locale);
}
/**
* @param src
*/
public EnumTextMap(Localized src) {
super(src);
}
@Override
public String get(Object key) {
if (key instanceof Enum) {
return EnumMessage.getPattern((Enum<?>) key, getLocale());
}
return super.get(key);
}
@Override
public String get(Object key, Object... args) {
if (key instanceof Enum) {
return new EnumMessage((Enum<?>) key, getLocale()) {
private static final long serialVersionUID = EnumTextMap.serialVersionUID;
protected MessageFormat createFormat(String pattern) {
// Should/could use ExtendedMessageFormat from commons.apache.org
return (MessageFormat) EnumTextMap.this.createFormat(pattern);
}
}.format(args);
}
return super.get(key, args);
}
}