/
DynamicForm.java
57 lines (39 loc) · 1.32 KB
/
DynamicForm.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
package play.data;
import java.util.*;
import play.libs.F;
import static play.libs.F.*;
import play.data.validation.*;
public class DynamicForm extends Form<DynamicForm.Dynamic> {
public DynamicForm() {
super(DynamicForm.Dynamic.class);
}
public DynamicForm(Map<String,String> data, Map<String,List<ValidationError>> errors, Option<Dynamic> value) {
super(DynamicForm.Dynamic.class, data, errors, value);
}
public String get(String key) {
return (String)get().getData().get(key);
}
public DynamicForm bindFromRequest() {
Form<Dynamic> form = super.bindFromRequest();
return new DynamicForm(form.data, form.errors, form.value);
}
public DynamicForm bind(Map<String,String> data) {
Form<Dynamic> form = super.bind(data);
return new DynamicForm(form.data, form.errors, form.value);
}
public Field field(String key) {
return super.field("data[" + key + "]");
}
public static class Dynamic {
private Map data = new HashMap();
public Map getData() {
return data;
}
public void setData(Map data) {
this.data = data;
}
public String toString() {
return "Form.Dynamic(" + data.toString() + ")";
}
}
}