1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package com.fatwire.gst.foundation.facade.uri;
18
19 import COM.FutureTense.Interfaces.ICS;
20
21 import com.fatwire.assetapi.data.AssetId;
22 import com.fatwire.gst.foundation.facade.runtag.render.GetTemplateUrl;
23
24
25
26
27
28 public class TemplateUriBuilder {
29
30 private final GetTemplateUrl tag = new GetTemplateUrl();
31
32 private String site;
33
34
35
36
37
38
39
40
41
42 public TemplateUriBuilder(final String c, final String cid, final String tname, final String wrapper) {
43 tag.setC(c);
44 tag.setCid(cid);
45 tag.setTname(tname);
46 tag.setWrapperpage(wrapper);
47 }
48
49
50
51
52
53
54
55
56 public TemplateUriBuilder(final String c, final String cid, final String tname) {
57 tag.setC(c);
58 tag.setCid(cid);
59 tag.setTname(tname);
60
61 }
62
63
64
65
66
67
68
69
70 public TemplateUriBuilder(final AssetId id, final String tname, final String wrapper) {
71 this(id.getType(), Long.toString(id.getId()), tname, wrapper);
72 }
73
74
75
76
77
78
79
80 public TemplateUriBuilder(final AssetId id, final String tname) {
81 this(id.getType(), Long.toString(id.getId()), tname);
82 }
83
84
85
86
87
88
89
90
91
92 public String toURI(final ICS ics) {
93 tag.setContext("");
94 if (site == null) {
95 tag.setSite(ics.GetVar("site"));
96 }
97 tag.setSlotname("irrelevant__");
98 if (ics.GetVar("eid") != null) {
99 tag.setTid(ics.GetVar("eid"));
100 tag.setTtype("CSElement");
101 } else {
102 tag.setTid(ics.GetVar("tid"));
103 tag.setTtype("Template");
104
105 }
106 tag.setOutstr("uri__");
107 tag.execute(ics);
108 final String uri = ics.GetVar("uri__");
109 ics.RemoveVar("uri__");
110 return uri;
111 }
112
113
114
115
116
117
118
119 public TemplateUriBuilder argument(final String name, final String value) {
120 tag.setArgument(name, value);
121 return this;
122 }
123
124
125
126
127
128 public TemplateUriBuilder assembler(final String s) {
129 tag.setAssembler(s);
130 return this;
131 }
132
133
134
135
136
137 public TemplateUriBuilder authority(final String s) {
138 tag.setAuthority(s);
139 return this;
140 }
141
142
143
144
145
146 public TemplateUriBuilder container(final String s) {
147 tag.setContainer(s);
148 return this;
149 }
150
151
152
153
154
155 public TemplateUriBuilder dynamic(final boolean s) {
156 tag.setDynamic(s);
157 return this;
158 }
159
160
161
162
163
164 public TemplateUriBuilder fragment(final String s) {
165 tag.setFragment(s);
166 return this;
167 }
168
169
170
171
172
173 public TemplateUriBuilder packedargs(final String s) {
174 tag.setPackedargs(s);
175 return this;
176 }
177
178
179
180
181
182 public TemplateUriBuilder satellite(final boolean s) {
183 tag.setSatellite(s);
184 return this;
185 }
186
187
188
189
190
191 public TemplateUriBuilder scheme(final String s) {
192 tag.setScheme(s);
193 return this;
194 }
195
196
197
198
199
200 public TemplateUriBuilder site(final String s) {
201 site = s;
202 tag.setSite(s);
203 return this;
204 }
205
206
207
208
209
210 public TemplateUriBuilder wrapper(final String s) {
211 tag.setWrapperpage(s);
212 return this;
213 }
214
215 }