Yeah, that a more generic solution. You can even use converters. If
you want to get into an argument with Igor that is ;-)

Eelco

On Wed, May 7, 2008 at 2:25 PM, Jeremy Thomerson
<[EMAIL PROTECTED]> wrote:
> As Eelco mentioned, there are quite a few ways... I typically use delegation
>  for this sort of thing with a model that wraps another model. This way it
>  can be reused for a Label, dropdown, textfield, etc....
>
>  you could do then:
>  add(new Label<String>("myLabelID", new UpperCaseModel(new
>  PropertyModel(myObject, "myField"))));
>
>  With code like:
>
>  import org.apache.wicket.model.IModel;
>
>  public class UpperCaseModel implements IModel<String> {
>
>     private static final long serialVersionUID = 1L;
>
>     private final IModel<String> mNestedModel;
>
>     public UpperCaseModel(IModel<String> nestedModel) {
>         if (nestedModel == null) {
>             throw new IllegalArgumentException("parameter 'nestedModel' can
>  not be 'null'.");
>         }
>         mNestedModel = nestedModel;
>     }
>
>     public String getObject() {
>         String obj = mNestedModel.getObject();
>         return obj == null ? obj : obj.toUpperCase();;
>     }
>
>     public void setObject(String object) {
>         mNestedModel.setObject(object);
>     }
>
>     public void detach() {
>         mNestedModel.detach();
>     }
>
>  }
>
>  Hope this helps...
>  Jeremy Thomerson
>
>  On Wed, May 7, 2008 at 4:06 PM, Eelco Hillenius <[EMAIL PROTECTED]>
>  wrote:
>
>
>
>  > >  I need your suggestion on, what are the ways I can get Label to print
>  > in
>  > >  Uppercase.
>  >
>  > Several ways. An easy one:
>  >
>  > public class UpperCaseLabel extends Label {
>  >
>  >        public UpperCaseLabel(String id) {
>  >                super(id);
>  >        }
>  >
>  >        public UpperCaseLabel(String id, String label) {
>  >                super(id, label);
>  >        }
>  >
>  >        public UpperCaseLabel(String id, IModel model) {
>  >                super(id, model);
>  >        }
>  >
>  >        @Override
>  >        protected void onComponentTagBody(final MarkupStream markupStream,
>  > final ComponentTag openTag) {
>  >                String s = getModelObjectAsString();
>  >                replaceComponentTagBody(markupStream, openTag, s != null ?
>  > s.toUpperCase() : null);
>  >        }
>  > }
>  >
>  > Eelco
>  >
>
>
> > ---------------------------------------------------------------------
>  > 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]

Reply via email to