-
Notifications
You must be signed in to change notification settings - Fork 12
Expand file tree
/
Copy pathVms.java
More file actions
249 lines (202 loc) · 4.85 KB
/
Copy pathVms.java
File metadata and controls
249 lines (202 loc) · 4.85 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
package pl.smsapi.message;
import java.io.File;
import java.io.IOException;
import pl.smsapi.SmsapiException;
import pl.smsapi.sender.Sender;
public final class Vms extends Message {
protected String tts;
protected File wav;
public static enum Lector {
AGNIESZKA("agnieszka"),
EWA("ewa"),
JACEK("jacek"),
JAN("jan"),
MAJA("maja");
private final String name;
Lector(String name) {
this.name = name;
}
};
public Vms() {
setPath("vms.do");
}
/**
* Wstawia object który będzie obsługiwał wysyłkę wiadomości
*
* @param sender Sender
*/
public Vms(Sender sender) {
this();
setSender(sender);
}
@Override
public Object getObjMessage() {
if (tts != null) {
return getTts();
} else if (wav != null) {
return getWav();
}
return null;
}
/**
* Pobiera parametr tts
*
* @return String
* @exception IllegalArgumentException -gdy parametr tts jest null
*/
public String getTts() {
if (tts == null) {
throw new IllegalArgumentException("No exists tts");
}
return tts;
}
/**
* Wstawia tekst do parametru tts - jest obowiązkowy jeśli wcześniej nie został ustawiony parametr wav
*
* @param tts String
* @exception IllegalArgumentException -gdy string is empty
*/
public void setTts(String tts) {
if (tts.isEmpty()) {
throw new IllegalArgumentException("String is empty");
}
this.tts = tts;
}
/**
* deprecated
*
* public void setTts(String tts, String encoding) {
*
* if(tts.isEmpty()){ throw new IllegalArgumentException("String is empty"); }
*
* this.tts = tts; params.put("encoding", encoding); }
*/
/**
* Pobiera plik wav
*
* @return File
* @exception IllegalArgumentException -gdy nie wav jest null
*/
public File getWav() {
if (wav == null) {
throw new IllegalArgumentException("No exists wav");
}
return wav;
}
/**
* Na podstawie scieżki do pliku tworzy objekt File i przypisuje do zmienej wav
*
* @param pathFile String
* @throws IOException
* @exception IllegalArgumentException -gdy plik nie istnieje lub nie jest typu wav
* @see checkFileWav
*/
public void setWav(String pathFile) {
File file = new File(pathFile);
if (!checkFileWav(file)) {
throw new IllegalArgumentException("File not exists or not read");
}
wav = file;
}
/**
* Wstawia objekt File do zmienej wav
*
* @param fileWav File
* @throws IOException
* @exception IllegalArgumentException -gdy pliku nie istnieje lub nie jest typu wav
*/
public void setWav(File fileWav) {
if (!checkFileWav(fileWav)) {
throw new IllegalArgumentException("File not exists or not read");
}
wav = fileWav;
}
private boolean checkFileWav(File file) {
try {
if (file.exists() && file.canRead() && file.getCanonicalPath().endsWith(".wav")) {
return true;
}
} catch (IOException ex) {
throw new SmsapiException(ex.getMessage());
}
return false;
}
/**
* Ilość prób połączenia
*
* @return String
*/
public String getTry() {
return params.get("try");
}
/**
* Ilość prób połączenia (dopuszczalne wartości od 1 do 6)
*
* @param val int
*/
public void setTry(int val) {
if (val < 1 || val > 6) {
throw new IllegalArgumentException("Incorrect value - accept 1 to 6");
}
String tmp = Integer.toString(val);
params.put("try", tmp);
}
/**
* Pobiera parametr interval
*
* @return String
*/
public String getInterval() {
return params.get("interval");
}
public void setInterval(int val) {
if (val < 1800 || val > 7200) {
throw new IllegalArgumentException("Incorrect value - accept 1800 to 7200");
}
String tmp = Integer.toString(val);
params.put("interval", tmp);
}
/**
* Pobjera parametr skip_gsm
*
* @return String
*/
public String getSkipGsm() {
return params.get("skip_gsm");
}
/**
* Ustawienie tego parametru spowoduje pominięcie telefonów komórkowych podczas wysyłki i wysłanie wiadomości tylko
* do numerów stacjonarnych
*
* @param skipGsm bool
*/
public void setSkipGsm(boolean skipGsm) {
if (skipGsm == true) {
params.put("skip_gsm", "1");
} else if (skipGsm == false) {
params.remove("skip_gsm");
}
}
/**
* Pobiera parametr tts_lector
*
* @return String
*/
public String getTtsLector() {
return params.get("tts_lector");
}
/**
* Określa nazwę lektora czytającego wpisany tekst wiadomości VMS Domyslna wartość to JAN.
*
* @param lector enum Lector
*/
public void setTtsLector(Lector lector) {
params.put("tts_lector", lector.name());
}
public String getFrom() {
return params.get("from");
}
public void setFrom(String from) {
params.put("from", from);
}
}