How's this: public class RecursiveStringResourceModel extends AbstractReadOnlyModel {
private final String resourceKey; private final Component component;public RecursiveStringResourceModel(final String resourceKey, final Component component) {
this.resourceKey = resourceKey; this.component = component; } @Override public Object getObject() {return new StringResourceModel(resourceKey, component, new CompoundPropertyModel(new AbstractMap() {
@Override public Object get(Object key) {return new RecursiveStringResourceModel((String) key, component).getObject();
} @Override public Set<java.util.Map.Entry<String, String>> entrySet() { return null; } })).getObject(); } }I'm sure it can be done more efficiently (i.e., less model creation), but hey, it works! ;-)
Regards, Sebastiaan i ii wrote:
how will this work with example i gave? i'm not sure how to get some.label and some.text back into some.key? would i use something likeStringResourceModel srm = new StringResourceModel("some.key", this, null); PropertyVariableInterpolator.interpolate("some.label", srm); not sure that works :(Date: Thu, 13 Mar 2008 12:17:09 +0100 From: [EMAIL PROTECTED] To: users@wicket.apache.org Subject: Re: StringResourceModel labels within valuesAt one point I wanted to do interpolation in constant strings, so I just used the property interpolator directly:PropertyVariableInterpolator.interpolate(value, modelObject);You can use that to build a model that recursively interpolates until there are no more ${...} occurrences in the value.Regards, Sebastiaan i ii wrote:thank you for help! which way is better? my own component or srm model that gets from localizer?Date: Wed, 12 Mar 2008 13:57:10 -0700 From: [EMAIL PROTECTED] To: users@wicket.apache.org Subject: Re: StringResourceModel labels within values but will that work recusively? :) -igor On Wed, Mar 12, 2008 at 1:44 PM, Johan Compagner <[EMAIL PROTECTED]> wrote:I think if you just give SRM a model that again gets the values from the localizer then it should work fine. On 3/12/08, i ii <[EMAIL PROTECTED]> wrote: > > is there way to do something like: > > .properties file: > > some.label=Some Label > some.text=Some Text > some.key=This text will have ${some.label} and ${some.text} > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
smime.p7s
Description: S/MIME Cryptographic Signature