1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 package org.primefaces.extensions.model.dynaform;
23
24 import java.io.Serializable;
25 import java.util.ArrayList;
26 import java.util.List;
27
28
29
30
31
32
33
34
35 public class DynaFormRow implements Serializable {
36
37 private static final long serialVersionUID = 20120514L;
38
39 private int row;
40 private boolean extended;
41 private int totalColspan = 0;
42 private DynaFormModel dynaFormModel;
43
44
45 private final List<AbstractDynaFormElement> elements = new ArrayList<>();
46
47
48
49
50 public DynaFormRow() {
51 }
52
53 public DynaFormRow(final int row, final boolean extended, final DynaFormModel dynaFormModel) {
54 this.row = row;
55 this.extended = extended;
56 this.dynaFormModel = dynaFormModel;
57 }
58
59
60
61
62
63
64
65 public DynaFormControl addControl(final Serializable data) {
66 return addControl(data, DynaFormControl.DEFAULT_TYPE, 1, 1);
67 }
68
69
70
71
72
73
74
75
76 public DynaFormControl addControl(final Serializable data, final String type) {
77 return addControl(data, type, 1, 1);
78 }
79
80
81
82
83
84
85
86
87
88 public DynaFormControl addControl(final Serializable data, final int colspan, final int rowspan) {
89 return addControl(data, DynaFormControl.DEFAULT_TYPE, colspan, rowspan);
90 }
91
92
93
94
95
96
97
98
99
100
101 public DynaFormControl addControl(final Serializable data, final String type, final int colspan, final int rowspan) {
102 final DynaFormControl dynaFormControl = new DynaFormControl(data,
103 type,
104 colspan,
105 rowspan,
106 row,
107 elements.size() + 1,
108 dynaFormModel.getControls().size() + 1,
109 extended);
110
111 elements.add(dynaFormControl);
112 dynaFormModel.getControls().add(dynaFormControl);
113 totalColspan = totalColspan + colspan;
114
115 return dynaFormControl;
116 }
117
118
119
120
121
122
123
124 public DynaFormModelElement addModel(final DynaFormModel model) {
125 return addModel(model, 1, 1);
126 }
127
128
129
130
131
132
133
134
135
136 public DynaFormModelElement addModel(final DynaFormModel model, final int colspan, final int rowspan) {
137 final DynaFormModelElement nestedModel = new DynaFormModelElement(model,
138 colspan,
139 rowspan,
140 row,
141 elements.size() + 1,
142 dynaFormModel.getControls().size() + 1,
143 extended);
144
145 elements.add(nestedModel);
146 dynaFormModel.getControls().addAll(model.getControls());
147 totalColspan = totalColspan + colspan;
148
149 return nestedModel;
150 }
151
152
153
154
155
156
157
158 public DynaFormLabel addLabel(final String value) {
159 return addLabel(value, true, 1, 1);
160 }
161
162
163
164
165
166
167
168
169
170 public DynaFormLabel addLabel(final String value, final int colspan, final int rowspan) {
171 return addLabel(value, true, colspan, rowspan);
172 }
173
174
175
176
177
178
179
180
181
182
183 public DynaFormLabel addLabel(final String value, final boolean escape, final int colspan, final int rowspan) {
184 final DynaFormLabel dynaFormLabel = new DynaFormLabel(value, escape, colspan, rowspan, row, elements.size() + 1, extended);
185
186 elements.add(dynaFormLabel);
187 dynaFormModel.getLabels().add(dynaFormLabel);
188 totalColspan = totalColspan + colspan;
189
190 return dynaFormLabel;
191 }
192
193 public List<AbstractDynaFormElement> getElements() {
194 return elements;
195 }
196
197 public int getTotalColspan() {
198 return totalColspan;
199 }
200
201 void setRow(final int row) {
202 this.row = row;
203 }
204 }