1 /*
2  * reserved comment block
3  * DO NOT REMOVE OR ALTER!
4  */
5 /*
6  * Licensed to the Apache Software Foundation (ASF) under one or more
7  * contributor license agreements.  See the NOTICE file distributed with
8  * this work for additional information regarding copyright ownership.
9  * The ASF licenses this file to You under the Apache License, Version 2.0
10  * (the "License"); you may not use this file except in compliance with
11  * the License.  You may obtain a copy of the License at
12  *
13  *      http://www.apache.org/licenses/LICENSE-2.0
14  *
15  * Unless required by applicable law or agreed to in writing, software
16  * distributed under the License is distributed on an "AS IS" BASIS,
17  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18  * See the License for the specific language governing permissions and
19  * limitations under the License.
20  */
21 
22 package com.sun.org.apache.xerces.internal.xni.parser;
23 
24 import java.io.IOException;
25 
26 import com.sun.org.apache.xerces.internal.xni.XNIException;
27 
28 /**
29  * Represents a parser configuration that can be used as the
30  * configuration for a "pull" parser. A pull parser allows the
31  * application to drive the parser instead of having document
32  * information events "pushed" to the registered handlers.
33  * <p>
34  * A pull parser using this type of configuration first calls
35  * the <code>setInputSource</code> method. After the input
36  * source is set, the pull parser repeatedly calls the
37  * <code>parse(boolean):boolean</code> method. This method
38  * returns a value of true if there is more to parse in the
39  * document.
40  * <p>
41  * Calling the <code>parse(XMLInputSource)</code> is equivalent
42  * to setting the input source and calling the
43  * <code>parse(boolean):boolean</code> method with a "complete"
44  * value of <code>true</code>.
45  *
46  * @author Andy Clark, IBM
47  *
48  */
49 public interface XMLPullParserConfiguration
50     extends XMLParserConfiguration {
51 
52     //
53     // XMLPullParserConfiguration methods
54     //
55 
56     // parsing
57 
58     /**
59      * Sets the input source for the document to parse.
60      *
61      * @param inputSource The document's input source.
62      *
63      * @exception XMLConfigurationException Thrown if there is a
64      *                        configuration error when initializing the
65      *                        parser.
66      * @exception IOException Thrown on I/O error.
67      *
68      * @see #parse(boolean)
69      */
setInputSource(XMLInputSource inputSource)70     public void setInputSource(XMLInputSource inputSource)
71         throws XMLConfigurationException, IOException;
72 
73     /**
74      * Parses the document in a pull parsing fashion.
75      *
76      * @param complete True if the pull parser should parse the
77      *                 remaining document completely.
78      *
79      * @return True if there is more document to parse.
80      *
81      * @exception XNIException Any XNI exception, possibly wrapping
82      *                         another exception.
83      * @exception IOException  An IO exception from the parser, possibly
84      *                         from a byte stream or character stream
85      *                         supplied by the parser.
86      *
87      * @see #setInputSource
88      */
parse(boolean complete)89     public boolean parse(boolean complete) throws XNIException, IOException;
90 
91     /**
92      * If the application decides to terminate parsing before the xml document
93      * is fully parsed, the application should call this method to free any
94      * resource allocated during parsing. For example, close all opened streams.
95      */
cleanup()96     public void cleanup();
97 
98 } // interface XMLPullParserConfiguration
99