01: /*
02: * The contents of this file are subject to the
03: * Mozilla Public License Version 1.1 (the "License");
04: * you may not use this file except in compliance with the License.
05: * You may obtain a copy of the License at http://www.mozilla.org/MPL/
06: *
07: * Software distributed under the License is distributed on an "AS IS"
08: * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied.
09: * See the License for the specific language governing rights and
10: * limitations under the License.
11: *
12: * The Initial Developer of the Original Code is Simulacra Media Ltd.
13: * Portions created by Simulacra Media Ltd are Copyright (C) Simulacra Media Ltd, 2004.
14: *
15: * All Rights Reserved.
16: *
17: * Contributor(s):
18: */
19: package org.openharmonise.rm.publishing.renderers;
20:
21: import org.openharmonise.commons.net.*;
22: import org.openharmonise.rm.publishing.renderers.impl.*;
23:
24: /**
25: * Factory class which will return the appropriate <code>PageRenderer</code>
26: * for a given mime-type.
27: *
28: * @author Michael Bell
29: * @version $Revision: 1.1 $
30: *
31: */
32: public class PageRendererFactory {
33:
34: /**
35: * Uninstantiable constructor
36: */
37: private PageRendererFactory() {
38: super ();
39: }
40:
41: public static PageRenderer getRenderer(String mimeType)
42: throws RendererUnavailableException {
43: PageRenderer result = null;
44:
45: if (mimeType.equals(MimeTypeMapping.PDF.getMimeType()) == true) {
46: result = new FOPRenderer();
47: } else if (mimeType.equals(MimeTypeMapping.HTML.getMimeType()) == true
48: || mimeType.equals(MimeTypeMapping.XML.getMimeType()) == true
49: || mimeType.equals(MimeTypeMapping.SVG.getMimeType()) == true) {
50: result = new StandardRenderer();
51: } else if (mimeType.equals(MimeTypeMapping.TEXT.getMimeType()) == true) {
52: result = new TextRenderer();
53: } else {
54: throw new RendererUnavailableException(
55: "No renderer available for this mime type");
56: }
57:
58: return result;
59: }
60:
61: }
|