@Override
public Object invoke(Object proxy, Method method, Object[] args)
throws Throwable {
if (!method.isAnnotationPresent(DDMFormField.class)) {
return null;
}
DDMFormFieldFactoryHelper ddmFormFieldFactoryHelper =
new DDMFormFieldFactoryHelper(_ddmFormFactoryHelper, method);
List<DDMFormFieldValue> ddmFormFieldValues =
_ddmFormFieldValuesMap.get(
ddmFormFieldFactoryHelper.getDDMFormFieldName());
if (ListUtil.isEmpty(ddmFormFieldValues)) {
LocalizedValue predefinedValue =
ddmFormFieldFactoryHelper.getDDMFormFieldPredefinedValue();
return convert(
method.getReturnType(),
ddmFormFieldFactoryHelper.getDDMFormFieldType(),
predefinedValue.getString(_locale));
}
return convert(
method.getReturnType(),
ddmFormFieldFactoryHelper.getDDMFormFieldType(),
ddmFormFieldValues);
}