KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > fop > util > ContentHandlerFactory


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$ */
19
20 package org.apache.fop.util;
21
22 import java.util.EventListener JavaDoc;
23
24 import org.xml.sax.ContentHandler JavaDoc;
25 import org.xml.sax.SAXException JavaDoc;
26
27 /**
28  * Factory interface implemented by classes that can instantiate ContentHandler subclasses which
29  * parse a SAX stream into Java objects.
30  */

31 public interface ContentHandlerFactory {
32
33     /**
34      * @return an array of supported namespaces.
35      */

36     String JavaDoc[] getSupportedNamespaces();
37     
38     /**
39      * @return a new ContentHandler to handle a SAX stream
40      * @throws SAXException if there's an error while preparing the ContentHandler
41      */

42     ContentHandler JavaDoc createContentHandler() throws SAXException JavaDoc;
43     
44     /**
45      * Interface that ContentHandler implementations that parse Java objects from XML can implement
46      * to return these objects.
47      */

48     public interface ObjectSource {
49         
50         /**
51          * @return the object parsed from the SAX stream (call valid after parsing)
52          */

53         Object JavaDoc getObject();
54      
55         /**
56          * Set a listener which gets notified when the object is fully built.
57          * @param listener the listener which gets notified
58          */

59         void setObjectBuiltListener(ObjectBuiltListener listener);
60     }
61     
62     /**
63      * EventListener interface for objects which want to get notified when ContentHandler
64      * implementing the ObjectSource interface has finished parsing.
65      */

66     public interface ObjectBuiltListener extends EventListener JavaDoc {
67         
68         /**
69          * Notifies the listener when the object is fully built.
70          * @param obj the newly built object
71          */

72         void notifyObjectBuilt(Object JavaDoc obj);
73         
74     }
75     
76 }
77
Popular Tags