-
Notifications
You must be signed in to change notification settings - Fork 12
Expand file tree
/
Copy pathSms.java
More file actions
312 lines (274 loc) · 6.87 KB
/
Copy pathSms.java
File metadata and controls
312 lines (274 loc) · 6.87 KB
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
package pl.smsapi.message;
import pl.smsapi.SmsapiException;
import pl.smsapi.sender.Sender;
import pl.smsapi.sender.SenderHttp;
import pl.smsapi.sender.SenderHttp.RequestMethod;
public final class Sms extends Message {
private Template tpl;
public Sms() {
setPath("sms.do");
}
/**
* Wstawia object który będzie obsługiwał wysyłkę wiadomości
*
* @param sender Sender
*/
public Sms(Sender sender) {
this();
setSender(sender);
}
@Override
public String getObjMessage() {
return params.get("message");
}
/**
* Uruchamia wysyłkę wiadomości w smsapi.pl
*
* @return bool
* @param requestMethod enum SenderHttp.RequestMethod
*/
public boolean send(RequestMethod requestMethod) {
if (getSender() == null) {
throw new SmsapiException("No exists sender");
}
getSender().setMethod(requestMethod);
boolean result = super.send();
return result;
}
/**
* Uruchamia wysyłkę wiadomości w smsapi.pl
*
* @return bool
* @param requestMethod String "POST" lub "GET"
*/
public boolean send(String requestMethod) {
if (requestMethod.equals("post") || requestMethod.equals("POST")) {
getSender().setMethod(SenderHttp.RequestMethod.POST);
} else if (requestMethod.equals("get") || requestMethod.equals("GET")) {
getSender().setMethod(SenderHttp.RequestMethod.GET);
}
boolean result = super.send();
return result;
}
/**
* Zwraca parametr message
*
* @return String
*/
public String getMessage() {
return params.get("message");
}
/**
* ---Obowiazkowy--- Maksymalna długość wiadomości wynosi 918 znaków (lub 402 ze znakami specjalnymi) i jest wysłana
* jako 6 połączonych SMS-ów
*
* @param message String
*/
public void setMessage(String message) {
params.put("message", message);
}
/**
* Zwraca parametr from
*
* @return String
*/
public String getFrom() {
return params.get("from");
}
/**
* Nazwa nadawcy wiadomości. Pozostawienie pola pustego powoduje wysłanie wiadomości od „SMSAPI”. -tylko dla
* wiadomoćsi pro
*
* @param from
* @see setEco
*/
public void setFrom(String from) {
params.put("from", from);
}
/**
* Zwraca parametr encoding
*
* @return String
*/
public String getEncoding() {
return params.get("encoding");
}
/**
* Parametr określa kodowanie polskich znaków w SMS-ie. Domyślne kodowanie jest windows-1250. Jeżeli występuje
* konieczność zmiany kodowania, należy użyć parametru encoding z danymi: - dla iso-8859-2 (latin2) – należy podać
* wartość „iso-8859-2” - dla utf-8 – należy podać wartość „utf-8”.
*
* @param encoding String
*/
public void setEncoding(String encoding) {
if (!encoding.equals("iso-8859-2") && !encoding.equals("utf-8")) {
throw new IllegalArgumentException("Incorrect encoding format");
}
params.put("encoding", encoding);
}
/**
* Zwraca parametr flash
*
* @return String
*/
public String getFlash() {
return params.get("flash");
}
/**
* Wysyłanie wiadomości trybem „flash”,
*
* @param flash bool
*/
public void setFlash(boolean flash) {
if (flash == true) {
params.put("flash", "1");
} else if (flash == false) {
params.remove("flash");
}
}
/**
* Zwraca parametr date_vaidate
*
* @return String
*/
public String getDateVaildate() {
return params.get("date_vaidate");
}
/**
* Ustawienie sprawdza poprawność formatu podanej daty. W przypadku wystąpienia błędnej daty zwrócony zostanie błąd
* ERROR:54
*
* @param date_validate bool
*/
public void setDateVaidate(boolean date_validate) {
if (date_validate == true) {
params.put("date_validate", "1");
} else if (date_validate == false) {
params.remove("date_validate");
}
}
/**
* Zwaraca parametr eco
*
* @return String
*/
public String getEco() {
return params.get("eco");
}
/**
* Ustawienie parametru spowoduje wysłanie wiadomości Eco -brak możliwości wyboru pola nadawcy, wiadomość wysyłana z
* losowego numeru
*
* @param eco bool
*/
public void setEco(boolean eco) {
if (eco == true) {
params.put("eco", "1");
} else if (eco == false) {
params.put("eco", "0");
}
}
/**
* Zwraca parametr nounicode
*
* @return String
*/
public String getNounicode() {
return params.get("nounicode");
}
/**
* Ustawienie zabezpiecza przed wysłaniem wiadomości ze znakami specjalnymi -w tym polskimi (ERROR:11)
*
* @param nounicode bool
*/
public void setNounicode(boolean nounicode) {
if (nounicode == true) {
params.put("nounicode", "1");
} else if (nounicode == false) {
params.remove("nounicode");
}
}
/**
* Zwaraca parametr normalize
*
* @return String
*/
public String getNormalize() {
return params.get("normalize");
}
/**
* Ustawienie powoduje zamianę znaków diakrytycznych takich jak „ą”, „ś”, „ć” na ich odpowiedniki „a”, „s”, „c”.
*
* @param normalize bool
*/
public void setNormalize(boolean normalize) {
if (normalize == true) {
params.put("normalize", "1");
} else if (normalize == false) {
params.remove("normalize");
}
}
/**
* Zwraca parametr fast
*
* @return String
*/
public String getFast() {
return params.get("fast");
}
/**
* Ustawienie spowoduje wysłanie wiadomości przy wykorzystaniu osobnego kanału zapewniającego szybkie doręczenie
* wiadomości Fast. Z parametru korzystać można podczas wysyłania wiadomości Pro oraz Eco Ilość punktów za wysyłkę
* pomnożona będzie przez 1.5
*
* @param fast bool
*/
public void setFast(boolean fast) {
if (fast == true) {
params.put("fast", "1");
} else if (fast == false) {
params.remove("fast");
}
}
/**
* Zwraca parametr partner_id
*
* @return String
*/
public String getPartnerId() {
return params.get("partner_id");
}
/**
* Kod partnerski, który otrzymać można po podpisaniu umowy partnerskiej
*
* @param partner_id String
*/
public void setPartnerId(String partner_id) {
params.put("partner_id", partner_id);
}
/**
* Zwraca objekt template który pozwala ustawić do 4 parametry wykorzystywane w szablonie
*
* @param name String -nazwa szablonu zdefiniowana w panelu klienta
* @return Template
*/
public Template template(String name) {
if (tpl == null) {
tpl = new Template(params, name);
}
return tpl;
}
/**
* Usuwa object template -to pozwala na utworzenie nowego
*/
public void templateClean() {
if (tpl != null) {
tpl = null;
params.remove("template");
params.remove("param1");
params.remove("param2");
params.remove("param3");
params.remove("param4");
}
}
}