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.util;
23
24 import java.util.List;
25
26 import javax.faces.context.FacesContext;
27
28 import org.primefaces.extensions.component.base.AbstractParameter;
29
30
31
32
33
34
35
36
37 public class ExtAjaxRequestBuilder extends org.primefaces.util.AjaxRequestBuilder {
38
39 private static final String KEY = ExtAjaxRequestBuilder.class.getName();
40
41 public ExtAjaxRequestBuilder(FacesContext context) {
42 super(context);
43 }
44
45 public static ExtAjaxRequestBuilder get(final FacesContext context) {
46
47 ExtAjaxRequestBuilder arb = (ExtAjaxRequestBuilder) context.getExternalContext().getRequestMap().get(KEY);
48
49 if (arb == null) {
50 arb = new ExtAjaxRequestBuilder(context);
51
52 context.getExternalContext().getRequestMap().put(KEY, arb);
53 }
54
55 return arb;
56 }
57
58 public ExtAjaxRequestBuilder params(final String clientId, final List<AbstractParameter> parameters) {
59 boolean paramWritten = false;
60
61 for (int i = 0; i < parameters.size(); i++) {
62 final AbstractParameter param = parameters.get(i);
63
64 if (paramWritten) {
65 buffer.append(",");
66 }
67 else {
68 paramWritten = true;
69 buffer.append(",params:[");
70 }
71
72 buffer.append("{name:'");
73 buffer.append(clientId).append('_').append(param.getName());
74 buffer.append("',value:");
75 buffer.append(param.getName());
76 buffer.append("}");
77 }
78
79 if (paramWritten) {
80 buffer.append("]");
81 }
82
83 return this;
84 }
85 }