/** * Processes Filters configured via annotations. * * @param registry * @param filter * @param javascript * @param filters */ @SuppressWarnings("unchecked") protected static void processFilter(BeanDefinitionRegistry registry, Filter filter, String javascript, ManagedList filters) { BeanDefinitionBuilder beanFilter = BeanDefinitionBuilder.rootBeanDefinition(filter.type()); Param[] filterParams = filter.params(); if (filterParams != null) { for (Param filterParam : filterParams) { beanFilter.addPropertyValue(filterParam.name(), filterParam.value()); } } registerFilter(registry, beanFilter.getBeanDefinition(), "__filter_" + javascript); filters.add(new RuntimeBeanReference("__filter_" + javascript)); }
/** * Process the @Filter annotation * @param filterAnn The filter annotation * @param name The Javascript name of the class to filter * @param container The IoC container to configure */ protected void processFilter(Filter filterAnn, String name, Container container) { Map<String, String> filterParams = getParamsMap(filterAnn.params()); AjaxFilter filter = LocalUtil.classNewInstance(name, filterAnn.type().getName(), AjaxFilter.class); if (filter != null) { LocalUtil.setParams(filter, filterParams, null); AjaxFilterManager filterManager = container.getBean(AjaxFilterManager.class); filterManager.addAjaxFilter(filter, name); } }