write a model decorator that chains another model, checks if it
returns null, and uses another value
class NullSafeModel implements imodel {
private final imodel delegate;
private final String nullvalue;
public nullsafemodel(imodel delegate, string nullvalue) {
this.delegate=delegate; ...}
object getobject() { object o=delegate.getobject(); return
(o!=null)?o:nullValue; }
void setobject(object o) { delegate.setobject(o); }
void detach() { delegate.detach();}
}
add(new label("foo", new nullsafemodel(new propertymodel(..), "unknown"));
-igor
On Mon, May 5, 2008 at 7:49 AM, AlexTM <[EMAIL PROTECTED]> wrote:
>
> Thanks!
>
> The problem is that the opLocationInfo has ten (10) different Strings that
> may be null so is there a generic solution to it?
>
> /Alex
>
>
>
>
> Vit Rozkovec wrote:
> >
> > Hi!
> > Maybe there is a better way, but I would do:
> >
> > add(new Label("country", new PropertyModel(this,
> > "ipLocationInfo.country") {
> > @Override
> > public Object getObject() {
> > String country = (String) super.getObject();
> > country = country == null ? "unknown" : country;
> > return country;
> > }
> > }));
> >
> >
> > Vitek
> >
> >
> > AlexTM wrote:
> >> Hi!
> >>
> >> I'm quite new to Wicket and help with something easy, i guess.
> >>
> >> I'm displaying some info on my page:
> >>
> >> add(new Label("country", new PropertyModel(this,
> >> "ipLocationInfo.country")));
> >>
> >> The country information is sometimes null and then i would like to
> >> display
> >> "unknown" instead. Is this easily managed or do i have to change the
> >> country
> >> value of the ipLocationInfo object?
> >>
> >> Regards Alex
> >>
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
> >
>
> --
> View this message in context:
> http://www.nabble.com/Display-a-String-when-null-tp17062912p17063364.html
>
> Sent from the Wicket - User mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
>
>
> 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]