1 | |
package org.jtheque.films.services.impl.utils.file.jt; |
2 | |
|
3 | |
|
4 | |
|
5 | |
|
6 | |
|
7 | |
|
8 | |
|
9 | |
|
10 | |
|
11 | |
|
12 | |
|
13 | |
|
14 | |
|
15 | |
|
16 | |
|
17 | |
|
18 | |
|
19 | |
import org.jtheque.core.managers.Managers; |
20 | |
import org.jtheque.core.managers.language.ILanguageManager; |
21 | |
import org.jtheque.core.managers.language.Internationalizable; |
22 | |
import org.jtheque.films.utils.Constants.Files.FileType; |
23 | |
import org.jtheque.utils.io.SimpleFilter; |
24 | |
|
25 | |
|
26 | |
|
27 | |
|
28 | |
|
29 | |
|
30 | 0 | public final class FileFilterFactory { |
31 | |
private static final JTFileFilter[] FILTERS; |
32 | |
|
33 | |
static { |
34 | 0 | FILTERS = new JTFileFilter[9]; |
35 | |
|
36 | 0 | createFilters(); |
37 | |
|
38 | 0 | Managers.getManager(ILanguageManager.class).addInternationalizable(new FiltersUpdater()); |
39 | 0 | } |
40 | |
|
41 | |
|
42 | |
|
43 | |
|
44 | |
private FileFilterFactory() { |
45 | 0 | super(); |
46 | 0 | } |
47 | |
|
48 | |
|
49 | |
|
50 | |
|
51 | |
private static void createFilters() { |
52 | 0 | ILanguageManager resources = Managers.getManager(ILanguageManager.class); |
53 | |
|
54 | 0 | FILTERS[0] = new JTFileFilter(resources.getMessage("utils.filters.html"), ".html", FileType.HTML); |
55 | 0 | FILTERS[1] = new JTFileFilter(resources.getMessage("utils.filters.xml"), ".xml", FileType.XML); |
56 | 0 | FILTERS[2] = new JTFileFilter(resources.getMessage("utils.filters.xls"), ".xls", FileType.XLS); |
57 | 0 | FILTERS[3] = new JTFileFilter(resources.getMessage("utils.filters.txt"), ".txt", FileType.TXT); |
58 | 0 | FILTERS[4] = new JTFileFilter(resources.getMessage("utils.filters.pdf"), ".pdf", FileType.PDF); |
59 | 0 | FILTERS[5] = new JTFileFilter(resources.getMessage("utils.filters.jtf"), ".jtf", FileType.JTF); |
60 | 0 | FILTERS[6] = new JTFileFilter(resources.getMessage("utils.filters.rtf"), ".rtf", FileType.RTF); |
61 | 0 | FILTERS[7] = new JTFileFilter(resources.getMessage("utils.filters.csv"), ".csv", FileType.CSV); |
62 | 0 | FILTERS[8] = new JTFileFilter(resources.getMessage("utils.filters.jtfe"), ".jtfe", FileType.JTFE); |
63 | 0 | } |
64 | |
|
65 | |
|
66 | |
|
67 | |
|
68 | |
|
69 | |
|
70 | |
|
71 | |
public static SimpleFilter getFileFilter(FileType fileType) { |
72 | 0 | JTFileFilter filter = null; |
73 | |
|
74 | 0 | for (JTFileFilter f : FILTERS) { |
75 | 0 | if (f.canFilter(fileType)) { |
76 | 0 | filter = f; |
77 | 0 | break; |
78 | |
} |
79 | |
} |
80 | |
|
81 | 0 | return filter; |
82 | |
} |
83 | |
|
84 | |
|
85 | |
|
86 | |
|
87 | |
|
88 | |
|
89 | 0 | private static final class FiltersUpdater implements Internationalizable { |
90 | |
@Override |
91 | |
public void refreshText() { |
92 | 0 | createFilters(); |
93 | 0 | } |
94 | |
} |
95 | |
} |