OSDN Git Service

a11a1fd7d0d0198d220af3ddf86043b272fcdec2
[coroid/inqubus.git] / frontend / src / yukihane / inqubus / config / Config.java
1 package yukihane.inqubus.config;
2
3 import java.io.File;
4 import java.util.ArrayList;
5 import java.util.List;
6 import org.apache.commons.configuration.ConfigurationException;
7 import org.apache.commons.configuration.XMLConfiguration;
8 import yukihane.inqubus.cookie.Cookie.BrowserType;
9
10 public enum Config {
11
12     INSTANCE;
13
14     public enum CookieBrowser {
15
16         MSIE {
17
18             @Override
19             public BrowserType toBrowserType() {
20                 return BrowserType.MSIE;
21             }
22         }, FIREFOX {
23
24             @Override
25             public BrowserType toBrowserType() {
26                 return BrowserType.FIREFOX;
27             }
28         }, CHROME {
29
30             @Override
31             public BrowserType toBrowserType() {
32                 return BrowserType.CHROME;
33             }
34         }, CHROMIUM {
35
36             @Override
37             public BrowserType toBrowserType() {
38                 return BrowserType.CHROMIUM;
39             }
40         }, OPERA {
41
42             @Override
43             public BrowserType toBrowserType() {
44                 return BrowserType.OPERA;
45             }
46         }, OTHER {
47
48             @Override
49             public BrowserType toBrowserType() {
50                 return BrowserType.OTHER;
51             }
52         };
53
54         public abstract BrowserType toBrowserType();
55     }
56     private final XMLConfiguration config = new XMLConfiguration();
57
58     void clear() {
59         config.clear();
60     }
61
62     /*
63      * ネットワーク - アカウント
64      */
65     private static final String LOGIN_NEED = "network.login";
66
67     public boolean getNeedsLogin() {
68         return config.getBoolean(LOGIN_NEED, true);
69     }
70
71     public void setNeedsLogin(boolean s) {
72         config.setProperty(LOGIN_NEED, s);
73     }
74     private static final String ACCOUNT_ID = "network.account.id";
75
76     public String getId() {
77         return config.getString(ACCOUNT_ID, "");
78     }
79
80     public void setId(String s) {
81         config.setProperty(ACCOUNT_ID, s);
82     }
83     private static final String ACCOUNT_PASSWORD = "network.account.password";
84
85     public String getPassword() {
86         return config.getString(ACCOUNT_PASSWORD, "");
87     }
88
89     public void setPassword(String s) {
90         config.setProperty(ACCOUNT_PASSWORD, s);
91     }
92     private static final String COOKIE_BROWSER = "network.cookie.browser";
93
94     public CookieBrowser getCookieBrowser() {
95         final String str = config.getString(COOKIE_BROWSER, CookieBrowser.MSIE.name());
96         return CookieBrowser.valueOf(str);
97     }
98
99     public void setCookieBrowser(CookieBrowser s) {
100         config.setProperty(COOKIE_BROWSER, s.name());
101     }
102     private static final String COOKIE_DIR = "network.cookie.dir";
103
104     public String getCookieDir() {
105         return config.getString(COOKIE_DIR, "");
106     }
107
108     public void setCookieDir(String s) {
109         config.setProperty(COOKIE_DIR, s);
110     }
111     /*
112      * ネットワーク - プロキシ
113      */
114     private static final String PROXY_USE = "network.proxy.use";
115
116     public boolean getProxyUse() {
117         return config.getBoolean(PROXY_USE, false);
118     }
119
120     public void setProxyUse(boolean s) {
121         config.setProperty(PROXY_USE, s);
122     }
123     private static final String PROXY_HOST = "network.proxy.host";
124
125     public String getProxyHost() {
126         return config.getString(PROXY_HOST, "localhost");
127     }
128
129     public void setProxyHost(String s) {
130         config.setProperty(PROXY_HOST, s);
131     }
132     private static final String PROXY_PORT = "network.proxy.port";
133
134     public String getProxyPort() {
135         return config.getString(PROXY_PORT, "8080");
136     }
137
138     public void setProxyPort(String s) {
139         config.setProperty(PROXY_PORT, s);
140     }
141
142     /*
143      * ファイル - 動画
144      */
145     private static final String FILE_VIDEO_DIR = "file.video.dir";
146
147     public String getVideoDir() {
148         return config.getString(FILE_VIDEO_DIR, "_video");
149     }
150
151     public void setVideoDir(String s) {
152         config.setProperty(FILE_VIDEO_DIR, s);
153     }
154     private static final String FILE_VIDEO_FILENAME = "file.video.filename";
155
156     public String getVideoFileNamePattern() {
157         return config.getString(FILE_VIDEO_FILENAME, "[{id}]{title}");
158     }
159
160     public void setVideoFileNamePattern(String s) {
161         config.setProperty(FILE_VIDEO_FILENAME, s.toString());
162     }
163     private static final String FILE_VIDEO_LOCAL = "file.video.local";
164
165     public boolean getVideoUseLocal() {
166         return config.getBoolean(FILE_VIDEO_LOCAL, false);
167     }
168
169     public void setVideoUseLocal(boolean s) {
170         config.setProperty(FILE_VIDEO_LOCAL, s);
171     }
172
173     /*
174      * ファイル - コメント
175      */
176     private static final String FILE_COMMENT_DIR = "file.comment.dir";
177
178     public String getCommentDir() {
179         return config.getString(FILE_COMMENT_DIR, "_comment");
180     }
181
182     public void setCommentDir(String s) {
183         config.setProperty(FILE_COMMENT_DIR, s);
184     }
185     private static final String FILE_COMMENT_FILENAME = "file.comment.filename";
186
187     public String getCommentFileNamePattern() {
188         return config.getString(FILE_COMMENT_FILENAME, "[{id}]{title}");
189     }
190
191     public void setCommentFileNamePattern(String s) {
192         config.setProperty(FILE_COMMENT_FILENAME, s.toString());
193     }
194     private static final String FILE_COMMENT_LOCAL = "file.comment.local";
195
196     public boolean getCommentUseLocal() {
197         return config.getBoolean(FILE_COMMENT_LOCAL, false);
198     }
199
200     public void setCommentUseLocal(boolean s) {
201         config.setProperty(FILE_COMMENT_LOCAL, s);
202     }
203
204     /*
205      * ファイル - 変換動画
206      */
207     private static final String FILE_OUTPUT_DIR = "file.output.dir";
208
209     public String getOutputDir() {
210         return config.getString(FILE_OUTPUT_DIR, "__converted");
211     }
212
213     public void setOutputDir(String s) {
214         config.setProperty(FILE_OUTPUT_DIR, s);
215     }
216     private static final String FILE_OUTPUT_FILENAME = "file.output.filename";
217
218     public String getOutputFileNamePattern() {
219         return config.getString(FILE_OUTPUT_FILENAME, "{filename}");
220     }
221
222     public void setOutputFileNamePattern(String s) {
223         config.setProperty(FILE_OUTPUT_FILENAME, s.toString());
224     }
225     private static final String FILE_OUTPUT_ENABLE = "file.output.enable";
226
227     public boolean getOutputEnable() {
228         return config.getBoolean(FILE_OUTPUT_ENABLE, true);
229     }
230
231     public void setOutputEnable(boolean s) {
232         config.setProperty(FILE_OUTPUT_ENABLE, s);
233     }
234     private static final String FILE_OUTPUT_COMMENT_OVERLAY = "file.output.comment_overlay";
235
236     public boolean getOutputCommentOverlay() {
237         return config.getBoolean(FILE_OUTPUT_COMMENT_OVERLAY, true);
238     }
239
240     public void setOutputCommentOverlay(boolean s) {
241         config.setProperty(FILE_OUTPUT_COMMENT_OVERLAY, s);
242     }
243     private static final String FILE_OUTPUT_DISPLAY_PROGRESS = "file.output.display";
244
245     public boolean getOutputDisplayProgress() {
246         return config.getBoolean(FILE_OUTPUT_DISPLAY_PROGRESS, true);
247     }
248
249     public void setOutputDisplayProgress(boolean s) {
250         config.setProperty(FILE_OUTPUT_DISPLAY_PROGRESS, s);
251     }
252     /*
253      * ファイル - 禁則文字
254      */
255     private static final String FILE_REPLACE_FROM = "file.prohibit.replace_from";
256
257     public String getReplaceFrom() {
258         return config.getString(FILE_REPLACE_FROM, "/\\:*?\"<>|.");
259     }
260
261     public void setReplaceFrom(String s) {
262         config.setProperty(FILE_REPLACE_FROM, s);
263     }
264     private static final String FILE_REPLACE_TO = "file.prohibit.replace_to";
265
266     public String getReplaceTo() {
267         return config.getString(FILE_REPLACE_TO, "_");
268     }
269
270     public void setReplaceTo(String s) {
271         config.setProperty(FILE_REPLACE_TO, s);
272     }
273     /*
274      * コメント
275      */
276     private static final String COMMENT_SIZE_AUTOSIZE = "comment.size.autosize";
277
278     public boolean getCommentSizeAutosize() {
279         return config.getBoolean(COMMENT_SIZE_AUTOSIZE, true);
280     }
281
282     public void setCommentSizeAutosize(boolean s) {
283         config.setProperty(COMMENT_SIZE_AUTOSIZE, s);
284     }
285     private static final String COMMENT_SIZE_MANUAL = "comment.size.manual";
286
287     public String getCommentSizeManual() {
288         return config.getString(COMMENT_SIZE_MANUAL, "");
289     }
290
291     public void setCommentSizeManual(String s) {
292         config.setProperty(COMMENT_SIZE_MANUAL, s);
293     }
294     private static final String COMMENT_MIN_DISABLED = "comment.minutesize.disable";
295
296     public boolean getCommentMinDisabled() {
297         return config.getBoolean(COMMENT_MIN_DISABLED, false);
298     }
299
300     public void setCommentMinDisabled(boolean s) {
301         config.setProperty(COMMENT_MIN_DISABLED, s);
302     }
303     private static final String COMMENT_MIN_SIZE_AUTOSIZE = "comment.minutesize.autosize";
304
305     public boolean getCommentMinSizeAutosize() {
306         return config.getBoolean(COMMENT_MIN_SIZE_AUTOSIZE, true);
307     }
308
309     public void setCommentMinSizeAutosize(boolean s) {
310         config.setProperty(COMMENT_MIN_SIZE_AUTOSIZE, s);
311     }
312     private static final String COMMENT_MIN_SIZE_MANUAL = "comment.minutesize.manual";
313
314     public String getCommentMinSizeManual() {
315         return config.getString(COMMENT_MIN_SIZE_MANUAL, "");
316     }
317
318     public void setCommentMinSizeManual(String s) {
319         config.setProperty(COMMENT_MIN_SIZE_MANUAL, s);
320     }
321     private static final String COMMENT_DISPLAY_MAX_SIZE_DEFAULT = "comment.displaysize.default";
322
323     public boolean getCommentDisplaySizeDefault() {
324         return config.getBoolean(COMMENT_DISPLAY_MAX_SIZE_DEFAULT, true);
325     }
326
327     public void setCommentDisplaySizeDefault(boolean s) {
328         config.setProperty(COMMENT_DISPLAY_MAX_SIZE_DEFAULT, s);
329     }
330     private static final String COMMENT_DISPLAY_MAX_SIZE_MANUAL = "comment.displaysize.manual";
331
332     public String getCommentDisplaySizeManual() {
333         return config.getString(COMMENT_DISPLAY_MAX_SIZE_MANUAL, "");
334     }
335
336     public void setCommentDisplaySizeManual(String s) {
337         config.setProperty(COMMENT_DISPLAY_MAX_SIZE_MANUAL, s);
338     }
339     private static final String COMMENT_FONTPATH = "comment.fontpath";
340
341     public String getFontPath() {
342         return config.getString(COMMENT_FONTPATH, "C:/Windows/Fonts/msgothic.ttc");
343     }
344
345     public void setFontPath(String s) {
346         config.setProperty(COMMENT_FONTPATH, s);
347     }
348     private static final String COMMENT_FONT_INDEX = "comment.fontindex";
349
350     public String getFontIndex() {
351         return config.getString(COMMENT_FONT_INDEX, "1");
352     }
353
354     public void setFontIndex(String s) {
355         config.setProperty(COMMENT_FONT_INDEX, s);
356     }
357     private static final String COMMENT_FONT_SHADOW = "comment.fontshadow";
358
359     public int getFontShadow() {
360         return config.getInt(COMMENT_FONT_SHADOW, 1);
361     }
362
363     public void setFontShadow(int s) {
364         config.setProperty(COMMENT_FONT_SHADOW, s);
365     }
366     private static final String COMMENT_FONT_SIZING_DISABLE = "comment.font_no_sizing";
367
368     public boolean getFontSizeArrangeDisable() {
369         return config.getBoolean(COMMENT_FONT_SIZING_DISABLE, false);
370     }
371
372     public void setFontSizeArrangeDisable(boolean s) {
373         config.setProperty(COMMENT_FONT_SIZING_DISABLE, s);
374     }
375     private static final String COMMENT_FONT_OPAQUE = "comment.opaque";
376
377     public boolean getCommentOpaque() {
378         return config.getBoolean(COMMENT_FONT_OPAQUE, false);
379     }
380
381     public void setCommentOpaque(boolean s) {
382         config.setProperty(COMMENT_FONT_OPAQUE, s);
383     }
384     private static final String FFMPEG_PATH = "ffmpeg.path";
385
386     public String getFfmpegPath() {
387         return config.getString(FFMPEG_PATH, "bin/ffmpeg.exe");
388     }
389
390     public void setFfmpegPath(String s) {
391         config.setProperty(FFMPEG_PATH, s);
392     }
393     private static final String FFMPEG_DLLPATH = "ffmpeg.dllpath";
394
395     public String getFfmpegDllPath() {
396         return config.getString(FFMPEG_DLLPATH, "bin/nicovideo.dll");
397     }
398
399     public void setFfmpegDllPath(String s) {
400         config.setProperty(FFMPEG_DLLPATH, s);
401     }
402     private static final String MEDIAINFO_PATH = "ffmpeg.mediainfopath";
403
404     public String getMediaInfoPath() {
405         return config.getString(MEDIAINFO_PATH, "bin/MediaInfo.exe");
406     }
407
408     public void setMediaInfoPath(String s) {
409         config.setProperty(MEDIAINFO_PATH, s);
410     }
411     private static final String FFMPEG_PARAM_OPTIONFILE = "ffmpeg.param.optionfile";
412
413     public String getFfmpegOptionFile() {
414         return config.getString(FFMPEG_PARAM_OPTIONFILE, null);
415     }
416
417     public void setFfmpegOptionFile(String s) {
418         config.setProperty(FFMPEG_PARAM_OPTIONFILE, s);
419     }
420     private static final String FFMPEG_PARAM_EXT = "ffmpeg.param.ext";
421
422     public String getFfmpegExtension() {
423         return config.getString(FFMPEG_PARAM_EXT, ".m4v");
424     }
425
426     public void setFfmpegExtension(String s) {
427         config.setProperty(FFMPEG_PARAM_EXT, s);
428     }
429     private static final String FFMPEG_PARAM_MAIN = "ffmpeg.param.main";
430
431     public String getFfmpegMainOption() {
432         return config.getString(FFMPEG_PARAM_MAIN, "");
433     }
434
435     public void setFfmpegMainOption(String s) {
436         config.setProperty(FFMPEG_PARAM_MAIN, s);
437     }
438     private static final String FFMPEG_PARAM_IN = "ffmpeg.param.in";
439
440     public String getFfmpegInOption() {
441         return config.getString(FFMPEG_PARAM_IN, "");
442     }
443
444     public void setFfmpegInOption(String s) {
445         config.setProperty(FFMPEG_PARAM_IN, s);
446     }
447     private static final String FFMPEG_PARAM_OUT = "ffmpeg.param.out";
448
449     public String getFfmpegOutOption() {
450         return config.getString(FFMPEG_PARAM_OUT,
451                 "-f ipod -g 150 -qcomp 0.7 -qmin 20 -qmax 30 -qdiff 4 -subq 6 -me_range 16 -i_qfactor 0.714286");
452     }
453
454     public void setFfmpegOutOption(String s) {
455         config.setProperty(FFMPEG_PARAM_OUT, s);
456     }
457     private static final String FFMPEG_PARAM_AV = "ffmpeg.param.av";
458
459     public String getFfmpegAvOption() {
460         return config.getString(FFMPEG_PARAM_AV, "");
461     }
462
463     public void setFfmpegAvOption(String s) {
464         config.setProperty(FFMPEG_PARAM_AV, s);
465     }
466     private static final String FFMPEG_PARAM_RESIZE = "ffmpeg.param.resize";
467
468     public boolean getFfmpegResizeEnable() {
469         return config.getBoolean(FFMPEG_PARAM_RESIZE, false);
470     }
471
472     public void setFfmpegResizeEnable(boolean s) {
473         config.setProperty(FFMPEG_PARAM_RESIZE, s);
474     }
475     private static final String FFMPEG_PARAM_RESIZE_WIDTH = "ffmpeg.param.resize_width";
476
477     public String getFfmpegResizeWidth() {
478         return config.getString(FFMPEG_PARAM_RESIZE_WIDTH, "480");
479     }
480
481     public void setFfmpegResizeWidth(String s) {
482         config.setProperty(FFMPEG_PARAM_RESIZE_WIDTH, s);
483     }
484     private static final String FFMPEG_PARAM_RESIZE_HEIGHT = "ffmpeg.param.resize_height";
485
486     public String getFfmpegResizeHeight() {
487         return config.getString(FFMPEG_PARAM_RESIZE_HEIGHT, "320");
488     }
489
490     public void setFfmpegResizeHeight(String s) {
491         config.setProperty(FFMPEG_PARAM_RESIZE_HEIGHT, s);
492     }
493     private static final String FFMPEG_PARAM_KEEP_ASPECT = "ffmpeg.param.keep_aspect";
494
495     public boolean getFfmpegKeepAspect() {
496         return config.getBoolean(FFMPEG_PARAM_KEEP_ASPECT, true);
497     }
498
499     public void setFfmpegKeepAspect(boolean s) {
500         config.setProperty(FFMPEG_PARAM_KEEP_ASPECT, s);
501     }
502     private static final String DISPLAY_CONVERTING = "convert.display_converting";
503
504     public boolean getFfmpegDisplayConverting() {
505         return config.getBoolean(DISPLAY_CONVERTING, true);
506     }
507
508     public void setFfmpegDisplayConverting(boolean s) {
509         config.setProperty(DISPLAY_CONVERTING, s);
510     }
511     private static final String DLL_DISABLE = "convert.dll_disabled";
512
513     public boolean getFfmpegDllDisabled() {
514         return config.getBoolean(DLL_DISABLE, false);
515     }
516
517     public void setFfmpegDllDisabled(boolean s) {
518         config.setProperty(DLL_DISABLE, s);
519     }
520     private static final String NG_WORD = "ng.word";
521
522     @SuppressWarnings("unchecked")
523     public List<String> getNgWords() {
524         return config.getList(NG_WORD, new ArrayList<String>(0));
525     }
526
527     public void setNgWords(List<String> s) {
528         config.setProperty(NG_WORD, s);
529     }
530     private static final String NG_ID = "ng.id";
531
532     @SuppressWarnings("unchecked")
533     public List<String> getNgIds() {
534         return config.getList(NG_ID, new ArrayList<String>(0));
535     }
536
537     public void setNgIds(List<String> s) {
538         config.setProperty(NG_ID, s);
539     }
540
541     /*
542      * 検索
543      */
544     private static final String SEARCH_VIDEO = "search.video";
545
546     @SuppressWarnings("unchecked")
547     public List<String> getSearchVideoDirs() {
548         return config.getList(SEARCH_VIDEO, new ArrayList<String>(1));
549     }
550
551     public void setSearchVideoDirs(List<String> s) {
552         config.setProperty(SEARCH_VIDEO, s);
553     }
554     private static final String SEARCH_COMMENT = "search.comment";
555
556     @SuppressWarnings("unchecked")
557     public List<String> getSearchCommentDirs() {
558         return config.getList(SEARCH_COMMENT, new ArrayList<String>(1));
559     }
560
561     public void setSearchCommentDirs(List<String> s) {
562         config.setProperty(SEARCH_COMMENT, s);
563     }
564
565     /*
566      * システム
567      */
568     private static final String SYSTEM_DOWNLOAD_THREAD = "system.download.thread";
569
570     public int getSystemDownloadThread() {
571         return config.getInt(SYSTEM_DOWNLOAD_THREAD, 1);
572     }
573
574     public void setSystemDownloadThread(int s) {
575         config.setProperty(SYSTEM_DOWNLOAD_THREAD, s);
576     }
577     private static final String SYSTEM_DOWNLOAD_WAIT = "system.download.wait";
578
579     public int getSystemDownloadWait() {
580         return config.getInt(SYSTEM_DOWNLOAD_WAIT, 30);
581     }
582
583     public void setSystemDownloadWait(int s) {
584         config.setProperty(SYSTEM_DOWNLOAD_WAIT, s);
585     }
586     private static final String SYSTEM_CONVERT_THREAD = "system.convert.thread";
587
588     public int getSystemConvertThread() {
589         return config.getInt(SYSTEM_CONVERT_THREAD, 2);
590     }
591
592     public void setSystemConvertThread(int s) {
593         config.setProperty(SYSTEM_CONVERT_THREAD, s);
594     }
595     private static final String SYSTEM_TEMPDIR = "system.tempdir";
596
597     public String getSystemTempDir() {
598         return config.getString(SYSTEM_TEMPDIR, "tmp");
599     }
600
601     public void setSystemTempDir(String s) {
602         config.setProperty(SYSTEM_TEMPDIR, s);
603     }
604     private static final String SYSTEM_WINDOW_WIDTH = "system.window.width";
605
606     public int getSystemWindowWidth() {
607         return config.getInt(SYSTEM_WINDOW_WIDTH, -1);
608     }
609
610     public void setSystemWindowWidth(int s) {
611         config.setProperty(SYSTEM_WINDOW_WIDTH, s);
612     }
613     private static final String SYSTEM_WINDOW_HEIGHT = "system.window.height";
614
615     public int getSystemWindowHeight() {
616         return config.getInt(SYSTEM_WINDOW_HEIGHT, -1);
617     }
618
619     public void setSystemWindowHeight(int s) {
620         config.setProperty(SYSTEM_WINDOW_HEIGHT, s);
621     }
622     private static final String SYSTEM_WINDOW_POS_X = "system.window.posx";
623
624     public int getSystemWindowPosX() {
625         return config.getInt(SYSTEM_WINDOW_POS_X, Integer.MIN_VALUE / 2);
626     }
627
628     public void setSystemWindowPosX(int s) {
629         config.setProperty(SYSTEM_WINDOW_POS_X, s);
630     }
631     private static final String SYSTEM_WINDOW_POS_Y = "system.window.posy";
632
633     public int getSystemWindowPosY() {
634         return config.getInt(SYSTEM_WINDOW_POS_Y, Integer.MIN_VALUE / 2);
635     }
636
637     public void setSystemWindowPosY(int s) {
638         config.setProperty(SYSTEM_WINDOW_POS_Y, s);
639     }
640     private static final String SYSTEM_COLUMN_ID = "system.column.id";
641
642     public int getSystemColumnId() {
643         return config.getInt(SYSTEM_COLUMN_ID, -1);
644     }
645
646     public void setSystemColumnId(int s) {
647         config.setProperty(SYSTEM_COLUMN_ID, s);
648     }
649     private static final String SYSTEM_COLUMN_VIDEO = "system.column.video";
650
651     public int getSystemColumnVideo() {
652         return config.getInt(SYSTEM_COLUMN_VIDEO, -1);
653     }
654
655     public void setSystemColumnVideo(int s) {
656         config.setProperty(SYSTEM_COLUMN_VIDEO, s);
657     }
658     private static final String SYSTEM_COLUMN_COMMENT = "system.column.comment";
659
660     public int getSystemColumnComment() {
661         return config.getInt(SYSTEM_COLUMN_COMMENT, -1);
662     }
663
664     public void setSystemColumnComment(int s) {
665         config.setProperty(SYSTEM_COLUMN_COMMENT, s);
666     }
667     private static final String SYSTEM_COLUMN_CONVERT = "system.column.convert";
668
669     public int getSystemColumnConvert() {
670         return config.getInt(SYSTEM_COLUMN_CONVERT, -1);
671     }
672
673     public void setSystemColumnConvert(int s) {
674         config.setProperty(SYSTEM_COLUMN_CONVERT, s);
675     }
676     private static final String SYSTEM_COLUMN_STATUS = "system.column.status";
677
678     public int getSystemColumnStatus() {
679         return config.getInt(SYSTEM_COLUMN_STATUS, -1);
680     }
681
682     public void setSystemColumnStatus(int s) {
683         config.setProperty(SYSTEM_COLUMN_STATUS, s);
684     }
685
686     /*
687      *
688      */
689     public void load(String fileName) throws ConfigurationException {
690         config.setFileName(fileName);
691         config.load();
692     }
693
694     public void save(File file) throws ConfigurationException {
695         config.setFile(file);
696         save();
697     }
698
699     public void save() throws ConfigurationException {
700         config.save();
701     }
702 }