/
Param.tpl
42 lines (35 loc) · 1.15 KB
/
Param.tpl
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
package {{ package }};
import java.util.List;
import java.util.Map;
import java.util.Set;
import org.codehaus.jackson.map.ObjectMapper;
import org.maluuba.service.runtime.common.RequestInfo;
import org.codehaus.jackson.annotate.JsonAutoDetect;
@JsonAutoDetect
public class {{ type.capitalize() }}Params {
{% for fieldType, fieldRealType, fieldMeta, fieldName in fields %}
@org.codehaus.jackson.annotate.JsonProperty
public {{ fieldType }} {{ fieldName }};
{% endfor %}
@org.codehaus.jackson.annotate.JsonProperty
public RequestInfo requestInfo;
@org.codehaus.jackson.annotate.JsonProperty
public String oauthToken;
@Override
public String toString() {
try {
return new ObjectMapper().writeValueAsString(this);
} catch (Exception e) {
return "";
}
}
public {{ type.capitalize() }}Url toUrl(String url) {
{{ type.capitalize() }}Url url_ = new {{ type.capitalize() }}Url(url);
{% for fieldType, fieldRealType, fieldMeta, fieldName in fields %}
url_.{{ fieldName }} = this.{{ fieldName }};
{% endfor %}
url_.requestInfo = this.requestInfo;
url_.oauthToken = this.oauthToken;
return url_;
}
}