KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > fop > render > AbstractFOEventHandlerMaker


1 /*
2  * Licensed to the Apache Software Foundation (ASF) under one or more
3  * contributor license agreements. See the NOTICE file distributed with
4  * this work for additional information regarding copyright ownership.
5  * The ASF licenses this file to You under the Apache License, Version 2.0
6  * (the "License"); you may not use this file except in compliance with
7  * the License. You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */

17
18 /* $Id: AbstractFOEventHandlerMaker.java 426576 2006-07-28 15:44:37Z jeremias $ */
19
20 package org.apache.fop.render;
21
22 import java.io.OutputStream JavaDoc;
23
24 import org.apache.fop.apps.FOPException;
25 import org.apache.fop.apps.FOUserAgent;
26 import org.apache.fop.fo.FOEventHandler;
27
28 /**
29  * Base class for factory classes which instantiate FOEventHandlers and provide information
30  * about them.
31  */

32 public abstract class AbstractFOEventHandlerMaker {
33     
34     /**
35      * Instantiates a new FOEventHandler.
36      * @param ua the user agent
37      * @param out OutputStream for the FOEventHandler to use
38      * @return the newly instantiated FOEventHandler
39      * @throws FOPException if a problem occurs while creating the event handler
40      */

41     public abstract FOEventHandler makeFOEventHandler(FOUserAgent ua, OutputStream JavaDoc out)
42             throws FOPException;
43
44     /**
45      * @return Indicates whether this renderer requires an OutputStream to work with.
46      */

47     public abstract boolean needsOutputStream();
48     
49     /**
50      * @return an array of MIME types the renderer supports.
51      */

52     public abstract String JavaDoc[] getSupportedMimeTypes();
53
54     /**
55      * Indicates whether a specific MIME type is supported by this renderer.
56      * @param mimeType the MIME type (ex. "application/rtf")
57      * @return true if the MIME type is supported
58      */

59     public boolean isMimeTypeSupported(String JavaDoc mimeType) {
60         String JavaDoc[] mimes = getSupportedMimeTypes();
61         for (int i = 0; i < mimes.length; i++) {
62             if (mimes[i].equals(mimeType)) {
63                 return true;
64             }
65         }
66         return false;
67     }
68     
69 }
70
Popular Tags