You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "Martin Makundi (JIRA)" <ji...@apache.org> on 2009/11/11 19:56:39 UTC
[jira] Commented: (WICKET-1157) Generic internationalization for
Enums
[ 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.