public static DDMForm create(Class<?> clazz) { if (!clazz.isAnnotationPresent(_DDM_FORM_ANNOTATION)) { throw new IllegalArgumentException( "Unsupported class " + clazz.getName()); } DDMFormFactoryHelper ddmFormFactoryHelper = new DDMFormFactoryHelper( clazz); return ddmFormFactoryHelper.createDDMForm(); }
protected Collection<Method> getDDMFormFieldMethods() { Map<String, Method> methodsMap = new TreeMap<>(); collectDDMFormFieldMethodsMap(_clazz, methodsMap); return methodsMap.values(); }
/** * @deprecated As of Judson (7.1.x), replaced by {@link * DDMFormFactoryHelper#collectResourceBundles(Class, List, * Locale)} */ @Deprecated protected void collectResourceBundles( Class<?> clazz, List<ResourceBundle> resourceBundles, Locale locale) { _ddmFormFactoryHelper.collectResourceBundles( clazz, resourceBundles, locale); }
public DDMFormFactoryHelper(Class<?> clazz) { _clazz = clazz; _ddmForm = clazz.getAnnotation(DDMForm.class); _availableLocales = getAvailableLocales(); _defaultLocale = getDefaultLocale(); }
protected void setDDMFormFieldNameMethodMap(Class<?> clazz) { DDMFormFactoryHelper ddmFormFactoryHelper = new DDMFormFactoryHelper( clazz); for (Method method : ddmFormFactoryHelper.getDDMFormFieldMethods()) { DDMFormFieldFactoryHelper ddmFormFieldFactoryHelper = new DDMFormFieldFactoryHelper(ddmFormFactoryHelper, method); _ddmFormFieldMethodNameMap.put( ddmFormFieldFactoryHelper.getDDMFormFieldName(), method.getName()); } }
protected void collectResourceBundles( Class<?> clazz, List<ResourceBundle> resourceBundles, Locale locale) { for (Class<?> interfaceClass : clazz.getInterfaces()) { collectResourceBundles(interfaceClass, resourceBundles, locale); } String resourceBundleBaseName = getResourceBundleBaseName(); if (Validator.isNull(resourceBundleBaseName)) { return; } try { ResourceBundle resourceBundle = ResourceBundleUtil.getBundle( resourceBundleBaseName, locale, clazz.getClassLoader()); if (resourceBundle != null) { resourceBundles.add(resourceBundle); } } catch (MissingResourceException mre) { } }
public com.liferay.dynamic.data.mapping.model.DDMForm createDDMForm() { com.liferay.dynamic.data.mapping.model.DDMForm ddmForm = new com.liferay.dynamic.data.mapping.model.DDMForm(); ddmForm.setAvailableLocales(_availableLocales); ddmForm.setDefaultLocale(_defaultLocale); ddmForm.setDDMFormFields(getDDMFormFields()); ddmForm.setDDMFormRules(getDDMFormRules()); return ddmForm; }
/** * @deprecated As of Judson (7.1.x), replaced by {@link * DDMFormFactoryHelper#getResourceBundle(Locale)} */ @Deprecated protected ResourceBundle getResourceBundle(Locale locale) { return _ddmFormFactoryHelper.getResourceBundle(locale); }
/** * @deprecated As of Judson (7.1.x), replaced by {@link * #DDMFormFieldFactoryHelper(DDMFormFactoryHelper, Method)} */ @Deprecated public DDMFormFieldFactoryHelper(Method method) { this(new DDMFormFactoryHelper(method.getDeclaringClass()), method); }
protected List<com.liferay.dynamic.data.mapping.model.DDMFormField> getDDMFormFields() { List<com.liferay.dynamic.data.mapping.model.DDMFormField> ddmFormFields = new ArrayList<>(); for (Method method : getDDMFormFieldMethods()) { DDMFormFieldFactoryHelper ddmFormFieldFactoryHelper = new DDMFormFieldFactoryHelper(this, method); ddmFormFieldFactoryHelper.setAvailableLocales(_availableLocales); ddmFormFieldFactoryHelper.setDefaultLocale(_defaultLocale); ddmFormFields.add(ddmFormFieldFactoryHelper.createDDMFormField()); } return ddmFormFields; }
protected Set<Locale> getAvailableLocales() { if (Validator.isNull(_ddmForm.availableLanguageIds())) { Locale defaultLocale = getDefaultLocale(); return SetUtil.fromArray(new Locale[] {defaultLocale}); } Set<Locale> availableLocales = new TreeSet<>(); for (String availableLanguageId : StringUtil.split(_ddmForm.availableLanguageIds())) { availableLocales.add( LocaleUtil.fromLanguageId(availableLanguageId)); } return availableLocales; }
protected String getLocalizedValue(Locale locale, String value) { ResourceBundle resourceBundle = _ddmFormFactoryHelper.getResourceBundle( locale); return LanguageUtil.get(resourceBundle, value); }
public DDMFormInstanceInvocationHandler( Class<T> clazz, DDMFormValues ddmFormValues, Locale locale) { _ddmFormFactoryHelper = new DDMFormFactoryHelper(clazz); _ddmFormValues = ddmFormValues; _locale = locale; _ddmFormFieldValuesMap = ddmFormValues.getDDMFormFieldValuesMap(); }
protected ResourceBundle getResourceBundle(Locale locale) { if (_resourceBundles == null) { _resourceBundles = new HashMap<>(); } return _resourceBundles.computeIfAbsent( locale, key -> { List<ResourceBundle> resourceBundles = new ArrayList<>(); ResourceBundle portalResourceBundle = PortalUtil.getResourceBundle(locale); resourceBundles.add(portalResourceBundle); collectResourceBundles(_clazz, resourceBundles, locale); ResourceBundle[] resourceBundlesArray = resourceBundles.toArray( new ResourceBundle[resourceBundles.size()]); return new AggregateResourceBundle(resourceBundlesArray); }); }
protected void collectDDMFormFieldMethodsMap( Class<?> clazz, Map<String, Method> methodsMap) { for (Class<?> interfaceClass : clazz.getInterfaces()) { collectDDMFormFieldMethodsMap(interfaceClass, methodsMap); } for (Method method : clazz.getDeclaredMethods()) { if (method.isAnnotationPresent(_DDM_FORM_FIELD_ANNOTATION)) { methodsMap.put(method.getName(), method); } } }