01: /**
02: * LibreSource
03: * Copyright (C) 2004-2008 Artenum SARL / INRIA
04: * http://www.libresource.org - contact@artenum.com
05: *
06: * This file is part of the LibreSource software,
07: * which can be used and distributed under license conditions.
08: * The license conditions are provided in the LICENSE.TXT file
09: * at the root path of the packaging that enclose this file.
10: * More information can be found at
11: * - http://dev.libresource.org/home/license
12: *
13: * Initial authors :
14: *
15: * Guillaume Bort / INRIA
16: * Francois Charoy / Universite Nancy 2
17: * Julien Forest / Artenum
18: * Claude Godart / Universite Henry Poincare
19: * Florent Jouille / INRIA
20: * Sebastien Jourdain / INRIA / Artenum
21: * Yves Lerumeur / Artenum
22: * Pascal Molli / Universite Henry Poincare
23: * Gerald Oster / INRIA
24: * Mariarosa Penzi / Artenum
25: * Gerard Sookahet / Artenum
26: * Raphael Tani / INRIA
27: *
28: * Contributors :
29: *
30: * Stephane Bagnier / Artenum
31: * Amadou Dia / Artenum-IUP Blois
32: * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
33: */package org.libresource.files.parsers;
34:
35: import java.util.Hashtable;
36:
37: public class Types2Parsers {
38: private static Hashtable repository = new Hashtable();
39:
40: static {
41: repository.put("text/xml",
42: "org.libresource.files.parsers.XMLContentParser");
43: repository.put("text/plain",
44: "org.libresource.files.parsers.TEXTContentParser");
45: repository.put("application/pdf",
46: "org.libresource.files.parsers.PDFContentParser");
47: repository.put("application/vnd.ms-word",
48: "org.libresource.files.parsers.WORDContentParser");
49: repository.put("application/vnd.ms-excel",
50: "org.libresource.files.parsers.EXCELContentParser");
51: repository.put("application/vnd.ms-powerpoint",
52: "org.libresource.files.parsers.PPTContentParser");
53: repository.put("application/vnd.sun.xml.writer",
54: "org.libresource.files.parsers.OOOContentParser");
55: repository.put("application/vnd.sun.xml.calc",
56: "org.libresource.files.parsers.OOOContentParser");
57: repository.put("application/vnd.sun.xml.impress",
58: "org.libresource.files.parsers.OOOContentParser");
59: }
60:
61: public static FileContentParser getParser(String mimeType)
62: throws Exception {
63: String classe = (String) repository.get(mimeType);
64:
65: if (classe == null) {
66: return null;
67: }
68:
69: return (FileContentParser) Class.forName(classe).newInstance();
70: }
71: }
|