4

In wicket 1.4 PageParameters has methods like getAsEnum(String key, Class<T> eClass, getAsInteger(String key, int defaultValue)

In official migration guide theres this hint

org.apache.wicket.PageParameters.getInt(String) - org.apache.wicket.request.mapper.parameter.PageParameters.get(String).toInt()

That explains how to get Int, Long etc if we were giving only String parameter but how do I refactor something like this?

params.getAsEnum("mode", PageMode.DISPLAY);

EDIT: I forget that you can call .toEnum() on StringValue. Sorry for mess.

lukaszrys
  • 1,656
  • 4
  • 19
  • 33

1 Answers1

1

I know of several ways how to do that:

// two interchangeable calls, first is more generic
getPageParameters().get("mode").to(PageMode.class);    
getPageParameters().get("mode").toEnum(PageMode.class);
// if you would like to have a PageMode.DISPLAY as default
getPageParameters().get("mode").toEnum(PageMode.DISPLAY);
zeratul021
  • 2,644
  • 3
  • 32
  • 45