@Override public Field createField(ReportInputParameter parameter) { LookupField lookupField = componentsFactory.createComponent(LookupField.class); String enumClassName = parameter.getEnumerationClass(); if (StringUtils.isNotBlank(enumClassName)) { Class enumClass = scripting.loadClass(enumClassName); if (enumClass != null) { Object[] constants = enumClass.getEnumConstants(); List<Object> optionsList = new ArrayList<>(); Collections.addAll(optionsList, constants); lookupField.setOptionsList(optionsList); lookupField.setCaptionMode(CaptionMode.ITEM); if (optionsList.size() < 10) { lookupField.setTextInputAllowed(false); } } } return lookupField; } }
@Override public void loadComponent() { super.loadComponent(); loadTabIndex(resultComponent, element); String captionProperty = element.attributeValue("captionProperty"); if (!StringUtils.isEmpty(captionProperty)) { resultComponent.setCaptionMode(CaptionMode.PROPERTY); resultComponent.setCaptionProperty(captionProperty); } String nullName = element.attributeValue("nullName"); if (StringUtils.isNotEmpty(nullName)) { resultComponent.setNullSelectionCaption(loadResourceString(nullName)); } String pageLength = element.attributeValue("pageLength"); if (StringUtils.isNotEmpty(pageLength)) { resultComponent.setPageLength(Integer.parseInt(pageLength)); } loadBuffered(resultComponent, element); loadTextInputAllowed(); loadInputPrompt(resultComponent, element); loadFilterMode(resultComponent, element); loadNewOptionHandler(resultComponent, element); loadNullOptionVisible(resultComponent, element); loadOptionsEnum(resultComponent, element); }