001    /**
002     * Copyright (c) 2000-present Liferay, Inc. All rights reserved.
003     *
004     * This library is free software; you can redistribute it and/or modify it under
005     * the terms of the GNU Lesser General Public License as published by the Free
006     * Software Foundation; either version 2.1 of the License, or (at your option)
007     * any later version.
008     *
009     * This library is distributed in the hope that it will be useful, but WITHOUT
010     * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
011     * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
012     * details.
013     */
014    
015    package com.liferay.portlet.dynamicdatamapping.model;
016    
017    import java.io.Serializable;
018    
019    import java.util.ArrayList;
020    import java.util.LinkedHashMap;
021    import java.util.List;
022    import java.util.Map;
023    
024    /**
025     * @author Pablo Carvalho
026     */
027    public class DDMFormField implements Serializable {
028    
029            public DDMFormField(String name, String type) {
030                    _name = name;
031                    _type = type;
032            }
033    
034            public void addNestedDDMFormField(DDMFormField nestedDDMFormField) {
035                    nestedDDMFormField.setDDMForm(_ddmForm);
036    
037                    _nestedDDMFormFields.add(nestedDDMFormField);
038            }
039    
040            public String getDataType() {
041                    return _dataType;
042            }
043    
044            public DDMForm getDDMForm() {
045                    return _ddmForm;
046            }
047    
048            public DDMFormFieldOptions getDDMFormFieldOptions() {
049                    return _ddmFormFieldOptions;
050            }
051    
052            public String getIndexType() {
053                    return _indexType;
054            }
055    
056            public LocalizedValue getLabel() {
057                    return _label;
058            }
059    
060            public String getName() {
061                    return _name;
062            }
063    
064            public String getNamespace() {
065                    return _namespace;
066            }
067    
068            public List<DDMFormField> getNestedDDMFormFields() {
069                    return _nestedDDMFormFields;
070            }
071    
072            public Map<String, DDMFormField> getNestedDDMFormFieldsMap() {
073                    Map<String, DDMFormField> nestedDDMFormFieldsMap =
074                            new LinkedHashMap<String, DDMFormField>();
075    
076                    for (DDMFormField nestedDDMFormField : _nestedDDMFormFields) {
077                            nestedDDMFormFieldsMap.put(
078                                    nestedDDMFormField.getName(), nestedDDMFormField);
079    
080                            nestedDDMFormFieldsMap.putAll(
081                                    nestedDDMFormField.getNestedDDMFormFieldsMap());
082                    }
083    
084                    return nestedDDMFormFieldsMap;
085            }
086    
087            public LocalizedValue getPredefinedValue() {
088                    return _predefinedValue;
089            }
090    
091            public LocalizedValue getStyle() {
092                    return _style;
093            }
094    
095            public LocalizedValue getTip() {
096                    return _tip;
097            }
098    
099            public String getType() {
100                    return _type;
101            }
102    
103            public boolean isLocalizable() {
104                    return _localizable;
105            }
106    
107            public boolean isMultiple() {
108                    return _multiple;
109            }
110    
111            public boolean isReadOnly() {
112                    return _readOnly;
113            }
114    
115            public boolean isRepeatable() {
116                    return _repeatable;
117            }
118    
119            public boolean isRequired() {
120                    return _required;
121            }
122    
123            public boolean isShowLabel() {
124                    return _showLabel;
125            }
126    
127            public void setDataType(String dataType) {
128                    _dataType = dataType;
129            }
130    
131            public void setDDMForm(DDMForm ddmForm) {
132                    for (DDMFormField nestedDDMFormField : _nestedDDMFormFields) {
133                            nestedDDMFormField.setDDMForm(ddmForm);
134                    }
135    
136                    _ddmForm = ddmForm;
137            }
138    
139            public void setDDMFormFieldOptions(
140                    DDMFormFieldOptions ddmFormFieldOptions) {
141    
142                    _ddmFormFieldOptions = ddmFormFieldOptions;
143            }
144    
145            public void setIndexType(String indexType) {
146                    _indexType = indexType;
147            }
148    
149            public void setLabel(LocalizedValue label) {
150                    _label = label;
151            }
152    
153            public void setLocalizable(boolean localizable) {
154                    _localizable = localizable;
155            }
156    
157            public void setMultiple(boolean multiple) {
158                    _multiple = multiple;
159            }
160    
161            public void setName(String name) {
162                    _name = name;
163            }
164    
165            public void setNamespace(String namespace) {
166                    _namespace = namespace;
167            }
168    
169            public void setNestedDDMFormFields(List<DDMFormField> nestedDDMFormFields) {
170                    _nestedDDMFormFields = nestedDDMFormFields;
171            }
172    
173            public void setPredefinedValue(LocalizedValue predefinedValue) {
174                    _predefinedValue = predefinedValue;
175            }
176    
177            public void setReadOnly(boolean readOnly) {
178                    _readOnly = readOnly;
179            }
180    
181            public void setRepeatable(boolean repeatable) {
182                    _repeatable = repeatable;
183            }
184    
185            public void setRequired(boolean required) {
186                    _required = required;
187            }
188    
189            public void setShowLabel(boolean showLabel) {
190                    _showLabel = showLabel;
191            }
192    
193            public void setStyle(LocalizedValue style) {
194                    _style = style;
195            }
196    
197            public void setTip(LocalizedValue tip) {
198                    _tip = tip;
199            }
200    
201            public void setType(String type) {
202                    _type = type;
203            }
204    
205            private String _dataType;
206            private DDMForm _ddmForm;
207            private DDMFormFieldOptions _ddmFormFieldOptions =
208                    new DDMFormFieldOptions();
209            private String _indexType;
210            private LocalizedValue _label = new LocalizedValue();
211            private boolean _localizable;
212            private boolean _multiple;
213            private String _name;
214            private String _namespace;
215            private List<DDMFormField> _nestedDDMFormFields =
216                    new ArrayList<DDMFormField>();
217            private LocalizedValue _predefinedValue = new LocalizedValue();
218            private boolean _readOnly;
219            private boolean _repeatable;
220            private boolean _required;
221            private boolean _showLabel;
222            private LocalizedValue _style = new LocalizedValue();
223            private LocalizedValue _tip = new LocalizedValue();
224            private String _type;
225    
226    }