[
https://issues.apache.org/jira/browse/WICKET-1157?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12776574#action_12776574
]
Martin Makundi commented on WICKET-1157:
----------------------------------------
I reommend you ditch the DropDOwnChoice and instead provide a
EnumChoiceRenderer:
public class TypeChoiceRenderer<T> implements IChoiceRenderer<T> {
/** */
private static final long serialVersionUID = 1L;
private final Component component;
/**
*
*/
public TypeChoiceRenderer() {
this((Component) null);
}
/**
* @param component
*/
public TypeChoiceRenderer(Component component) {
this.component = component;
}
/**
* @param arg0
* @return Object
* @see
org.apache.wicket.markup.html.form.IChoiceRenderer#getDisplayValue(java.lang.Object)
*/
public String getDisplayValue(T arg0) {
return toDisplayValue(component, arg0);
}
/**
* @param arg0
* @return String
*/
public static String toDisplayValue(Object arg0) {
return toDisplayValue(null, arg0, false);
}
/**
* @param component
* @param arg0
* @return String
*/
public static String toDisplayValue(Component component, Object arg0) {
return toDisplayValue(component, arg0, true);
}
/**
* @param component
* @param arg0
* @param escape
* @return String
*/
public static String toDisplayValue(Component component, Object arg0, boolean
escape) {
// Tässä muodostetaan lokalisoinnin avain
String propertyKey = toPropertyKey(arg0);
// Tässä haetaan lokalisoitu arvo
String localizedProperty =
MarkupUtils.getLocalizer().getString(propertyKey, component);
if (!escape) {
return localizedProperty;
}
// Tässä palautetaan lokalisoitu arvo
return Strings.escapeMarkup(localizedProperty).toString();
}
/**
* @param arg0
* @return String
*/
public static String toPropertyKey(Object arg0) {
return (arg0 != null) ? (arg0.getClass().getSimpleName() + "." + arg0) :
null;
}
/**
* @param arg0
* @param arg1
* @return String
* @see
org.apache.wicket.markup.html.form.IChoiceRenderer#getIdValue(java.lang.Object,
int)
*/
public String getIdValue(T arg0, int arg1) {
return getIdValue(arg0);
}
/**
* @param object
* @return String
*/
public static String getIdValue(Object object) {
return object.toString();
}
}
> Generic internationalization for Enums
> --------------------------------------
>
> Key: WICKET-1157
> URL: https://issues.apache.org/jira/browse/WICKET-1157
> Project: Wicket
> Issue Type: New Feature
> Components: wicket
> Affects Versions: 1.4-M1
> Reporter: Bruno Borges
> Fix For: 1.5-M1
>
> Attachments: EnumDropDownChoice.java, EnumLabel.java, Enums.patch
>
>
> Support internationalization for Enums for any Component in the future
> (Wicket's Java 5+ version). I attached two components that does this
> independently. But maybe it would be a good idea to abstract this.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.