01: // CatalogReader.java - An interface for reading catalog files
02:
03: /*
04: * Copyright 2001-2004 The Apache Software Foundation or its licensors,
05: * as applicable.
06: *
07: * Licensed under the Apache License, Version 2.0 (the "License");
08: * you may not use this file except in compliance with the License.
09: * You may obtain a copy of the License at
10: *
11: * http://www.apache.org/licenses/LICENSE-2.0
12: *
13: * Unless required by applicable law or agreed to in writing, software
14: * distributed under the License is distributed on an "AS IS" BASIS,
15: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16: * See the License for the specific language governing permissions and
17: * limitations under the License.
18: */
19:
20: package com.sun.org.apache.xml.internal.resolver.readers;
21:
22: import java.io.IOException;
23: import java.net.MalformedURLException;
24: import com.sun.org.apache.xml.internal.resolver.CatalogException;
25:
26: import java.io.InputStream;
27: import com.sun.org.apache.xml.internal.resolver.Catalog;
28:
29: /**
30: * The CatalogReader interface.
31: *
32: * <p>The Catalog class requires that classes implement this interface
33: * in order to be used to read catalogs. Examples of CatalogReaders
34: * include the TextCatalogReader, the SAXCatalogReader, and the
35: * DOMCatalogReader.</p>
36: *
37: * @see Catalog
38: *
39: * @author Norman Walsh
40: * <a href="mailto:Norman.Walsh@Sun.COM">Norman.Walsh@Sun.COM</a>
41: *
42: * @version 1.0
43: */
44: public interface CatalogReader {
45: /**
46: * Read a catalog from a file.
47: *
48: * <p>This class reads a catalog from a URL.</p>
49: *
50: * @param catalog The catalog for which this reader is called.
51: * @param fileUrl The URL of a document to be read.
52: * @throws MalformedURLException if the specified URL cannot be
53: * turned into a URL object.
54: * @throws IOException if the URL cannot be read.
55: * @throws UnknownCatalogFormatException if the catalog format is
56: * not recognized.
57: * @throws UnparseableCatalogException if the catalog cannot be parsed.
58: * (For example, if it is supposed to be XML and isn't well-formed.)
59: */
60: public void readCatalog(Catalog catalog, String fileUrl)
61: throws MalformedURLException, IOException, CatalogException;
62:
63: /**
64: * Read a catalog from an input stream.
65: *
66: * <p>This class reads a catalog from an input stream.</p>
67: *
68: * @param catalog The catalog for which this reader is called.
69: * @param is The input stream that is to be read.
70: * @throws IOException if the URL cannot be read.
71: * @throws UnknownCatalogFormatException if the catalog format is
72: * not recognized.
73: * @throws UnparseableCatalogException if the catalog cannot be parsed.
74: * (For example, if it is supposed to be XML and isn't well-formed.)
75: */
76: public void readCatalog(Catalog catalog, InputStream is)
77: throws IOException, CatalogException;
78: }
|