001
014
015 package com.liferay.portlet.dynamicdatamapping.render;
016
017 import com.liferay.portal.kernel.util.Accessor;
018 import com.liferay.portlet.dynamicdatamapping.model.DDMForm;
019 import com.liferay.portlet.dynamicdatamapping.model.DDMFormField;
020 import com.liferay.portlet.dynamicdatamapping.storage.DDMFormFieldValue;
021 import com.liferay.portlet.dynamicdatamapping.storage.DDMFormValues;
022
023 import java.util.Locale;
024 import java.util.Map;
025
026
029 public abstract class ValueAccessor
030 implements Accessor<DDMFormFieldValue, String> {
031
032 public ValueAccessor(Locale locale) {
033 this.locale = locale;
034 }
035
036 @Override
037 public Class<String> getAttributeClass() {
038 return String.class;
039 }
040
041 @Override
042 public Class<DDMFormFieldValue> getTypeClass() {
043 return DDMFormFieldValue.class;
044 }
045
046 protected DDMForm getDDMForm(DDMFormFieldValue ddmFormFieldValue) {
047 DDMFormValues ddmFormValues = ddmFormFieldValue.getDDMFormValues();
048
049 return ddmFormValues.getDDMForm();
050 }
051
052 protected DDMFormField getDDMFormField(
053 DDMFormFieldValue ddmFormFieldValue) {
054
055 DDMForm ddmForm = getDDMForm(ddmFormFieldValue);
056
057 Map<String, DDMFormField> ddmFormFieldsMap =
058 ddmForm.getDDMFormFieldsMap(false);
059
060 return ddmFormFieldsMap.get(ddmFormFieldValue.getName());
061 }
062
063 protected Locale locale;
064
065 }