| /* |
| * Licensed to the Apache Software Foundation (ASF) under one or more |
| * contributor license agreements. See the NOTICE file distributed with |
| * this work for additional information regarding copyright ownership. |
| * The ASF licenses this file to You under the Apache License, Version 2.0 |
| * (the "License"); you may not use this file except in compliance with |
| * the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| package com.sun.org.apache.xml.internal.resolver.readers; |
| |
| import java.io.IOException; |
| import java.net.MalformedURLException; |
| import com.sun.org.apache.xml.internal.resolver.CatalogException; |
| |
| import java.io.InputStream; |
| import com.sun.org.apache.xml.internal.resolver.Catalog; |
| |
| /** |
| * The CatalogReader interface. |
| * |
| * <p>The Catalog class requires that classes implement this interface |
| * in order to be used to read catalogs. Examples of CatalogReaders |
| * include the TextCatalogReader, the SAXCatalogReader, and the |
| * DOMCatalogReader.</p> |
| * |
| * @see Catalog |
| * |
| * @author Norman Walsh |
| * <a href="mailto:Norman.Walsh@Sun.COM">Norman.Walsh@Sun.COM</a> |
| * |
| */ |
| public interface CatalogReader { |
| /** |
| * Read a catalog from a file. |
| * |
| * <p>This class reads a catalog from a URL.</p> |
| * |
| * @param catalog The catalog for which this reader is called. |
| * @param fileUrl The URL of a document to be read. |
| * @throws MalformedURLException if the specified URL cannot be |
| * turned into a URL object. |
| * @throws IOException if the URL cannot be read. |
| * @throws UnknownCatalogFormatException if the catalog format is |
| * not recognized. |
| * @throws UnparseableCatalogException if the catalog cannot be parsed. |
| * (For example, if it is supposed to be XML and isn't well-formed.) |
| */ |
| public void readCatalog(Catalog catalog, String fileUrl) |
| throws MalformedURLException, IOException, CatalogException; |
| |
| /** |
| * Read a catalog from an input stream. |
| * |
| * <p>This class reads a catalog from an input stream.</p> |
| * |
| * @param catalog The catalog for which this reader is called. |
| * @param is The input stream that is to be read. |
| * @throws IOException if the URL cannot be read. |
| * @throws UnknownCatalogFormatException if the catalog format is |
| * not recognized. |
| * @throws UnparseableCatalogException if the catalog cannot be parsed. |
| * (For example, if it is supposed to be XML and isn't well-formed.) |
| */ |
| public void readCatalog(Catalog catalog, InputStream is) |
| throws IOException, CatalogException; |
| } |