java - How to include all parameters of a standard HST component in child component? -


a lot of custom components extends essentialslistcomponent. same standard hst component has lot of useful parameters such pagesize , sortorder (input through console) have handle individually in classes. process tedious , prone human error.

how can apply standard parameters @ once hst query in custom hst component? example, following lovely:

@override     protected <t extends essentialsdocumentlistcomponentinfo> hstquery buildquery(hstrequest request, t paraminfo,                                                                                   hippobean scope) { scope = request.getrequestcontext().getsitecontentbasebean(); try { hstquery hstquery = request.getrequestcontext().getquerymanager().createquery(scope); hstquery.applyparameters(paraminfo);// paraminfo should includes pagesize, sortorder etc. right? } catch (exception e) { } } 

you can extend essentialsdocumentlistcomponentinfo interface, suppose mydocumentlistcomponentinfo interface. on mydocumentlistcomponentinfo interface override methods want have default values such pagesize , sortorder.

lets want pagesize have default value of 20 instead of 10. use code below:

@parameter(name = "pagesize", required = true, defaultvalue = "20", displayname = "page size", description = "nr of items per page") int getpagesize(); 

with not need declare property in console, unless want custom value.

now in components extend, declare following annotation above class declaration:

@parametersinfo(type = mydocumentlistcomponentinfo.class) 

now code should work fine , have less parameters configure every time.


Comments