6
|
1 /**
|
|
2 *
|
|
3 * Copyright INRA-URGI 2009-2010
|
|
4 *
|
|
5 * This software is governed by the CeCILL license under French law and
|
|
6 * abiding by the rules of distribution of free software. You can use,
|
|
7 * modify and/ or redistribute the software under the terms of the CeCILL
|
|
8 * license as circulated by CEA, CNRS and INRIA at the following URL
|
|
9 * "http://www.cecill.info".
|
|
10 *
|
|
11 * As a counterpart to the access to the source code and rights to copy,
|
|
12 * modify and redistribute granted by the license, users are provided only
|
|
13 * with a limited warranty and the software's author, the holder of the
|
|
14 * economic rights, and the successive licensors have only limited
|
|
15 * liability.
|
|
16 *
|
|
17 * In this respect, the user's attention is drawn to the risks associated
|
|
18 * with loading, using, modifying and/or developing or reproducing the
|
|
19 * software by the user in light of its specific status of free software,
|
|
20 * that may mean that it is complicated to manipulate, and that also
|
|
21 * therefore means that it is reserved for developers and experienced
|
|
22 * professionals having in-depth computer knowledge. Users are therefore
|
|
23 * encouraged to load and test the software's suitability as regards their
|
|
24 * requirements in conditions enabling the security of their systems and/or
|
|
25 * data to be ensured and, more generally, to use and operate it in the
|
|
26 * same conditions as regards security.
|
|
27 *
|
|
28 * The fact that you are presently reading this means that you have had
|
|
29 * knowledge of the CeCILL license and that you accept its terms.
|
|
30 *
|
|
31 */
|
|
32 import java.util.*;
|
|
33
|
|
34 public class FormatsContainer {
|
|
35
|
|
36 HashMap < String, FormatType > formatTypes;
|
|
37
|
|
38
|
|
39 public FormatsContainer() {
|
|
40 this.formatTypes = new HashMap < String, FormatType > ();
|
|
41 }
|
|
42
|
|
43
|
|
44 public void addFormat(String type, String format) {
|
|
45 FormatType formatType;
|
|
46 if (formatTypes.containsKey(type)) {
|
|
47 formatType = this.formatTypes.get(type);
|
|
48 }
|
|
49 else {
|
|
50 formatType = new FormatType(type);
|
|
51 this.formatTypes.put(type, formatType);
|
|
52 }
|
|
53 formatType.addFormat(format);
|
|
54 }
|
|
55
|
|
56
|
|
57 public Vector < String > getFormatTypes () {
|
|
58 Vector < String > v = new Vector < String > ();
|
|
59 v.addAll(this.formatTypes.keySet());
|
|
60 return v;
|
|
61 }
|
|
62
|
|
63
|
|
64 public FormatType getFormats (String type) {
|
|
65 if (! formatTypes.containsKey(type)) {
|
|
66 System.out.print("Format type " + type + " is unavailable. Got: ");
|
|
67 Iterator it = formatTypes.entrySet().iterator();
|
|
68 while (it.hasNext()) {
|
|
69 Map.Entry pairs = (Map.Entry) it.next();
|
|
70 System.out.print(pairs.getKey() + " ");
|
|
71 }
|
|
72 System.out.println();
|
|
73 }
|
|
74 return formatTypes.get(type);
|
|
75 }
|
|
76
|
|
77
|
|
78 public String getFormatType (String format) {
|
|
79 for (Iterator it = formatTypes.keySet().iterator(); it.hasNext(); ) {
|
|
80 Object type = it.next();
|
|
81 Object formatType = formatTypes.get(type);
|
|
82 if (((FormatType) formatType).containsFormat(format)) {
|
|
83 return (String) type;
|
|
84 }
|
|
85 }
|
|
86 return null;
|
|
87 }
|
|
88 }
|
|
89
|
|
90
|