001
014
015 package com.liferay.portlet.dynamicdatamapping;
016
017 import com.liferay.portal.kernel.util.HashUtil;
018 import com.liferay.portal.kernel.util.Validator;
019
020 import java.io.Serializable;
021
022 import java.util.ArrayList;
023 import java.util.LinkedHashMap;
024 import java.util.LinkedHashSet;
025 import java.util.List;
026 import java.util.Locale;
027 import java.util.Map;
028 import java.util.Set;
029
030
034 public class DDMFormValues implements Serializable {
035
036 public DDMFormValues(DDMForm ddmForm) {
037 _ddmForm = ddmForm;
038 }
039
040 public void addAvailableLocale(Locale locale) {
041 _availableLocales.add(locale);
042 }
043
044 public void addDDMFormFieldValue(DDMFormFieldValue ddmFormFieldValue) {
045 ddmFormFieldValue.setDDMFormValues(this);
046
047 _ddmFormFieldValues.add(ddmFormFieldValue);
048 }
049
050 @Override
051 public boolean equals(Object obj) {
052 if (this == obj) {
053 return true;
054 }
055
056 if (!(obj instanceof DDMFormValues)) {
057 return false;
058 }
059
060 DDMFormValues ddmFormValues = (DDMFormValues)obj;
061
062 if (Validator.equals(
063 _availableLocales, ddmFormValues._availableLocales) &&
064 Validator.equals(_defaultLocale, ddmFormValues._defaultLocale) &&
065 Validator.equals(
066 _ddmFormFieldValues, ddmFormValues._ddmFormFieldValues)) {
067
068 return true;
069 }
070
071 return false;
072 }
073
074 public Set<Locale> getAvailableLocales() {
075 return _availableLocales;
076 }
077
078 public DDMForm getDDMForm() {
079 return _ddmForm;
080 }
081
082 public List<DDMFormFieldValue> getDDMFormFieldValues() {
083 return _ddmFormFieldValues;
084 }
085
086 public Map<String, List<DDMFormFieldValue>> getDDMFormFieldValuesMap() {
087 Map<String, List<DDMFormFieldValue>> ddmFormFieldValuesMap =
088 new LinkedHashMap<>();
089
090 for (DDMFormFieldValue ddmFormFieldValue : _ddmFormFieldValues) {
091 List<DDMFormFieldValue> ddmFormFieldValues =
092 ddmFormFieldValuesMap.get(ddmFormFieldValue.getName());
093
094 if (ddmFormFieldValues == null) {
095 ddmFormFieldValues = new ArrayList<>();
096
097 ddmFormFieldValuesMap.put(
098 ddmFormFieldValue.getName(), ddmFormFieldValues);
099 }
100
101 ddmFormFieldValues.add(ddmFormFieldValue);
102 }
103
104 return ddmFormFieldValuesMap;
105 }
106
107 public Locale getDefaultLocale() {
108 return _defaultLocale;
109 }
110
111 @Override
112 public int hashCode() {
113 int hash = HashUtil.hash(0, _availableLocales);
114
115 hash = HashUtil.hash(hash, _defaultLocale);
116
117 return HashUtil.hash(hash, _ddmFormFieldValues);
118 }
119
120 public void setAvailableLocales(Set<Locale> availableLocales) {
121 _availableLocales = availableLocales;
122 }
123
124 public void setDDMFormFieldValues(
125 List<DDMFormFieldValue> ddmFormFieldValues) {
126
127 for (DDMFormFieldValue ddmFormFieldValue : ddmFormFieldValues) {
128 ddmFormFieldValue.setDDMFormValues(this);
129 }
130
131 _ddmFormFieldValues = ddmFormFieldValues;
132 }
133
134 public void setDefaultLocale(Locale defaultLocale) {
135 _defaultLocale = defaultLocale;
136 }
137
138 private Set<Locale> _availableLocales = new LinkedHashSet<>();
139 private final DDMForm _ddmForm;
140 private List<DDMFormFieldValue> _ddmFormFieldValues = new ArrayList<>();
141 private Locale _defaultLocale;
142
143 }