01: package org.contineo.core.text.parser;
02:
03: import java.io.File;
04:
05: /**
06: * This is a factory, returning a parser instance for the given file. Created on
07: * 4. November 2003, 21:54
08: *
09: * @author Michael Scholz
10: */
11: public class ParserFactory {
12: public static Parser getParser(File file) {
13: String filename = file.getName();
14: String extension = filename
15: .substring(filename.lastIndexOf(".") + 1);
16: extension = extension.toLowerCase();
17:
18: Parser parser = null;
19:
20: if (extension.equals("doc") || extension.equals("dot")) {
21: parser = new DOCParser(file);
22: } else if (extension.equals("htm") || extension.equals("html")) {
23: parser = new HTMLParser(file);
24: } else if (extension.equals("pdf")) {
25: parser = new PDFParser(file);
26: } else if (extension.equals("ps")) {
27: parser = new PSParser(file);
28: } else if (extension.equals("rtf")) {
29: parser = new RTFParser(file);
30: } else if (extension.startsWith("sx")) {
31: parser = new SXParser(file);
32: } else if (extension.startsWith("od")) {
33: parser = new SXParser(file);
34: } else if (extension.startsWith("ot")) {
35: parser = new SXParser(file);
36: } else if (extension.equals("txt") || extension.equals("dbf")) {
37: parser = new TXTParser(file);
38: } else if (extension.equals("wpd")) {
39: parser = new WPDParser(file);
40: } else if (extension.equals("xml")) {
41: parser = new XMLParser(file);
42: } else if (extension.equals("xls") || extension.equals("xlt")) {
43: parser = new XLSParser(file);
44: } else if (extension.equals("kwd") || extension.equals("kpr")
45: || extension.equals("ksp")) {
46: parser = new KOParser(file);
47: } else if (extension.equals("abw")) {
48: parser = new XMLParser(file);
49: } else if (extension.equals("zabw")) {
50: parser = new ZABWParser(file);
51: } else if (extension.equals("ppt") || extension.equals("pps")
52: || extension.equals("pot")) {
53: parser = new PPTParser(file);
54: } else {
55: parser = new TXTParser(file);
56: }
57:
58: return parser;
59: } // end method getParser
60: } // end class ParserFactory
|