63a0e61abc72d32000895a405d77291f5ec304f2
[debian/jabref.git] / src / java / net / sf / jabref / imports / CaseKeeperList.java
1 /*  Copyright (C) 2012 JabRef contributors.
2     This program is free software; you can redistribute it and/or modify
3     it under the terms of the GNU General Public License as published by
4     the Free Software Foundation; either version 2 of the License, or
5     (at your option) any later version.
6
7     This program is distributed in the hope that it will be useful,
8     but WITHOUT ANY WARRANTY; without even the implied warranty of
9     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
10     GNU General Public License for more details.
11
12     You should have received a copy of the GNU General Public License along
13     with this program; if not, write to the Free Software Foundation, Inc.,
14     51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
15 */
16
17 package net.sf.jabref.imports;
18
19 /**
20  * Container class for lists with keywords where the case should be kept independent of bibstyle
21  * 
22  */
23 public class CaseKeeperList {
24    
25     // Common words in IEEE Xplore that should always be in the given case
26    public String[] wordListIEEEXplore = new String[]{
27         "1-D",
28         "1D",
29         "2-D",
30         "2D",
31         "3-D",
32         "3D",
33         "3G",
34         "4G",
35         "A/D",
36         "ACM",
37         "AC",
38         "ADC",
39         "ADI",
40         "ADSL",
41         "AES",
42         "ALU",
43         "AMPS",
44         "AM",
45         "ANOVA",
46         "ANSI",
47         "API",
48         "ARQ",
49         "ASIC",
50         "ATM",
51         "AVC",
52         "AlGaAs",
53         "Altera",
54         "BCD",
55         "BCH",
56         "BER",
57         "BIST",
58         "BJT",
59         "BPSK",
60         "Bayes",
61         "Bessel",
62         "BiCMOS",
63         "Bluetooth",
64         "Bragg",
65         "Butterworth",
66         "CAD",
67         "CATV",
68         "CBR",
69         "CDMA",
70         "CDR",
71         "CIC",
72         "CMOS",
73         "CMRR",
74         "CNN",
75         "CORDIC",
76         "CPLD",
77         "CPU",
78         "CRC",
79         "CSD",
80         "CSIT",
81         "CSI",
82         "CSMA",
83         "Carlo",
84         "Cauer",
85         "Chebyshev",
86         "D/A",
87         "DAB",
88         "DAC",
89         "DCT",
90         "DC",
91         "DDFS",
92         "DDR",
93         "DDSM",
94         "DDS",
95         "DEM",
96         "DFE",
97         "DFT",
98         "DLL",
99         "DMT",
100         "DNL",
101         "DOCSIS",
102         "DRAM",
103         "DRM",
104         "DSP",
105         "DST",
106         "DVB-C",
107         "DVB-H",
108         "DVB-S",
109         "DVB-T",
110         "DVB",
111         "DVFS",
112         "DVI",
113         "DWT",
114         "ECG",
115         "ECL",
116         "EDGE",
117         "EEG",
118         "EMC",
119         "EMG",
120         "EMI",
121         "ENOB",
122         "EPROM",
123         "EVM",
124         "FDTD",
125         "FEM",
126         "FER",
127         "FET",
128         "FFT",
129         "FIFO",
130         "FIR",
131         "FMCW",
132         "FM",
133         "FPGA",
134         "FPU",
135         "FRM",
136         "Farrow",
137         "Fourier",
138         "GALS",
139         "GHz",
140         "GIS",
141         "GNSS",
142         "GNU",
143         "GPGPU",
144         "GPRS",
145         "GPS",
146         "GPU",
147         "GSM",
148         "GSPS",
149         "GS",
150         "GaAs",
151         "Galileo",
152         "Gauss",
153         "Gb",
154         "H.264",
155         "HARQ",
156         "HBT",
157         "HDMI",
158         "HDTV",
159         "HD",
160         "HEMT",
161         "HEVC",
162         "HMM",
163         "Haar",
164         "Hadamard",
165         "Hamming",
166         "Hilbert",
167         "I/O",
168         "I/Q",
169         "IBM",
170         "ICA",
171         "IC",
172         "IDCT",
173         "IDFT",
174         "IEEE",
175         "IFFT",
176         "IFIR",
177         "IF",
178         "IGBT",
179         "IIR",
180         "ILP",
181         "INL",
182         "IO",
183         "IPTV",
184         "IP",
185         "IQ",
186         "ISDN",
187         "ISI",
188         "ISM",
189         "InP",
190         "JFET",
191         "JPEG",
192         "JTAG",
193         "Kalman",
194         "Karatsuba",
195         "LAN",
196         "LCD",
197         "LDA",
198         "LDD",
199         "LDI",
200         "QC-LDPC",  // until sorting on length works
201         "LDPC",
202         "LED",
203         "LFSR",
204         "LNA",
205         "LNS",
206         "LSB",
207         "LTE-A",
208         "LTE",
209         "LTI",
210         "LVDC",
211         "LVDS",
212         "Laplace",
213         "MAC",
214         "MANET",
215         "MAP",
216         "MASH",
217         "MCM",
218         "MCU",
219         "MEMS",
220         "MESFET",
221         "MHz",
222         "MILP",
223         "MIMO",
224         "MISO",
225         "MMIC",
226         "MMSE",
227         "MOSFET",
228         "MOS",
229         "MPEG",
230         "MPSoC",
231         "MRI",
232         "MSB",
233         "MSD",
234         "MSPS",
235         "MS",
236         "MTCMOS",
237         "Markov",
238         "Maxwell",
239         "Mb",
240         "Miller",
241         "Monte",
242         "Msps",
243         "NMOS",
244         "NTSC",
245         "Newton",
246         "NoC",
247         "Nyquist",
248         "OFDMA",
249         "OFDM",
250         "OSR",
251         "OTA-C",
252         "OTA",
253         "P2P",
254         "PAL",
255         "PAM",
256         "PAPR",
257         "PCA",
258         "PCI",
259         "PCM",
260         "PC",
261         "PHY",
262         "PID",
263         "PLC",
264         "PLL",
265         "PMOS",
266         "POTS",
267         "PSRR",
268         "PWM",
269         "PowerPC",
270         "QAM",
271         "QPSK",
272         "QRD",
273         "QoS",
274         "RAD",
275         "RAM",
276         "RCS",
277         "RFDAC",
278         "RFE",
279         "RFID",
280         "RF",
281         "RISC",
282         "RLS",
283         "RMS",
284         "RNS",
285         "ROM",
286         "RSA",
287         "RTOS",
288         "Reed",
289         "Remez",
290         "SAR",
291         "SAW",
292         "SC",
293         "SDF",
294         "SDH",
295         "SDRAM",
296         "SDR",
297         "SFDR",
298         "SIMO",
299         "SINAD",
300         "SINR",
301         "SISO",
302         "SNDR",
303         "SNR",
304         "SOI",
305         "SONET",
306         "SPT",
307         "SRAM",
308         "SQNR",
309         "SVD",
310         "SVM",
311         "SerDes",
312         "Shannon",
313         "SiGe",
314         "SoC",
315         "Solomon",
316         "SystemC",
317         "TCP",
318         "TDMA",
319         "TETRA",
320         "TFT",
321         "THD",
322         "TSPC",
323         "TV",
324         "UAV",
325         "UHF",
326         "UMTS",
327         "USRP",
328         "UWB",
329         "VBR",
330         "VCO",
331         "VDD",
332         "VDSL",
333         "VGA",
334         "VHDL",
335         "VHF",
336         "VLIW",
337         "VLSI",
338         "VOD",
339         "VQ",
340         "VSB",
341         "Vdd",
342         "Verilog-AMS",
343         "Verilog-A",
344         "Verilog",
345         "Viterbi",
346         "VoD",
347         "VoIP",
348         "Volterra",
349         "WCDMA",
350         "WDF",
351         "WLAN",
352         "WPAN",
353         "WWW",
354         "Watt",
355         "WiMAX",
356         "Winograd",
357         "XML",
358         "Xilinx",
359         "ZigBee",
360         "dB",
361         "kHz",
362         "kS",
363         "mW",
364         "xDSL"
365    };
366     
367    
368    // List of all keyword lists
369    private String[][] allLists = new String[][] {
370        wordListIEEEXplore
371    };
372    
373    public CaseKeeperList () {
374    
375    };
376    /* Return all lists concatenated
377     * Can be done faster once deciding on Java 6.0
378     * see: http://stackoverflow.com/questions/80476/how-to-concatenate-two-arrays-in-java
379     */
380     public String[] getAll() {
381         int lengh = 0;
382         for (String[] array : allLists) {
383             lengh += array.length;
384         }
385         String[] result = new String[lengh];
386         int pos = 0;
387         for (String[] array : allLists) {
388             for (String element : array) {
389                 result[pos] = element;
390                 pos++;
391             }
392         }
393         return result;
394     }
395 }