All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.rometools.rome.io.XmlReaderException Maven / Gradle / Ivy

Go to download

All Roads Lead to ROME. ROME is a set of Atom/RSS Java utilities that make it easy to work in Java with most syndication formats. Today it accepts all flavors of RSS (0.90, 0.91, 0.92, 0.93, 0.94, 1.0 and 2.0), Atom 0.3 and Atom 1.0 feeds. Rome includes a set of parsers and generators for the various flavors of feeds, as well as converters to convert from one format to another. The parsers can give you back Java objects that are either specific for the format you want to work with, or a generic normalized SyndFeed object that lets you work on with the data without bothering about the underlying format.

There is a newer version: 2.1.0
Show newest version
package com.rometools.rome.io;

import java.io.IOException;
import java.io.InputStream;

/**
 * The XmlReaderException is thrown by the XmlReader constructors if the charset encoding can not be
 * determined according to the XML 1.0 specification and RFC 3023.
 * 

* The exception returns the unconsumed InputStream to allow the application to do an alternate * processing with the stream. Note that the original InputStream given to the XmlReader cannot be * used as that one has been already read. *

* * @author Alejandro Abdelnur * */ public class XmlReaderException extends IOException { private static final long serialVersionUID = 1L; private final String bomEncoding; private final String xmlGuessEncoding; private final String xmlEncoding; private final String contentTypeMime; private final String contentTypeEncoding; private final InputStream is; /** * Creates an exception instance if the charset encoding could not be determined. *

* Instances of this exception are thrown by the XmlReader. *

* * @param msg message describing the reason for the exception. * @param bomEnc BOM encoding. * @param xmlGuessEnc XML guess encoding. * @param xmlEnc XML prolog encoding. * @param is the unconsumed InputStream. * */ public XmlReaderException(final String msg, final String bomEnc, final String xmlGuessEnc, final String xmlEnc, final InputStream is) { this(msg, null, null, bomEnc, xmlGuessEnc, xmlEnc, is); } /** * Creates an exception instance if the charset encoding could not be determined. *

* Instances of this exception are thrown by the XmlReader. *

* * @param msg message describing the reason for the exception. * @param ctMime MIME type in the content-type. * @param ctEnc encoding in the content-type. * @param bomEnc BOM encoding. * @param xmlGuessEnc XML guess encoding. * @param xmlEnc XML prolog encoding. * @param is the unconsumed InputStream. * */ public XmlReaderException(final String msg, final String ctMime, final String ctEnc, final String bomEnc, final String xmlGuessEnc, final String xmlEnc, final InputStream is) { super(msg); contentTypeMime = ctMime; contentTypeEncoding = ctEnc; bomEncoding = bomEnc; xmlGuessEncoding = xmlGuessEnc; xmlEncoding = xmlEnc; this.is = is; } /** * Returns the BOM encoding found in the InputStream. *

* * @return the BOM encoding, null if none. * */ public String getBomEncoding() { return bomEncoding; } /** * Returns the encoding guess based on the first bytes of the InputStream. *

* * @return the encoding guess, null if it couldn't be guessed. * */ public String getXmlGuessEncoding() { return xmlGuessEncoding; } /** * Returns the encoding found in the XML prolog of the InputStream. *

* * @return the encoding of the XML prolog, null if none. * */ public String getXmlEncoding() { return xmlEncoding; } /** * Returns the MIME type in the content-type used to attempt determining the encoding. *

* * @return the MIME type in the content-type, null if there was not content-type or the encoding * detection did not involve HTTP. * */ public String getContentTypeMime() { return contentTypeMime; } /** * Returns the encoding in the content-type used to attempt determining the encoding. *

* * @return the encoding in the content-type, null if there was not content-type, no encoding in * it or the encoding detection did not involve HTTP. * */ public String getContentTypeEncoding() { return contentTypeEncoding; } /** * Returns the unconsumed InputStream to allow the application to do an alternate encoding * detection on the InputStream. *

* * @return the unconsumed InputStream. * */ public InputStream getInputStream() { return is; } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy