KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > sun > syndication > io > XmlReaderException


1 package com.sun.syndication.io;
2
3 import java.io.InputStream JavaDoc;
4 import java.io.IOException JavaDoc;
5
6 /**
7  * The XmlReaderException is thrown by the XmlReader constructors if the charset encoding
8  * can not be determined according to the XML 1.0 specification and RFC 3023.
9  * <p>
10  * The exception returns the unconsumed InputStream to allow the application to do an
11  * alternate processing with the stream. Note that the original InputStream given to the
12  * XmlReader cannot be used as that one has been already read.
13  * <p>
14  *
15  * @author Alejandro Abdelnur
16  *
17  */

18 public class XmlReaderException extends IOException JavaDoc {
19     private String JavaDoc _bomEncoding;
20     private String JavaDoc _xmlGuessEncoding;
21     private String JavaDoc _xmlEncoding;
22     private String JavaDoc _contentTypeMime;
23     private String JavaDoc _contentTypeEncoding;
24     private InputStream JavaDoc _is;
25
26     /**
27      * Creates an exception instance if the charset encoding could not be determined.
28      * <p>
29      * Instances of this exception are thrown by the XmlReader.
30      * <p>
31      * @param msg message describing the reason for the exception.
32      * @param bomEnc BOM encoding.
33      * @param xmlGuessEnc XML guess encoding.
34      * @param xmlEnc XML prolog encoding.
35      * @param is the unconsumed InputStream.
36      *
37      */

38     public XmlReaderException(String JavaDoc msg,String JavaDoc bomEnc,String JavaDoc xmlGuessEnc,String JavaDoc xmlEnc,InputStream JavaDoc is) {
39         this(msg,null,null,bomEnc,xmlGuessEnc,xmlEnc,is);
40     }
41
42     /**
43      * Creates an exception instance if the charset encoding could not be determined.
44      * <p>
45      * Instances of this exception are thrown by the XmlReader.
46      * <p>
47      * @param msg message describing the reason for the exception.
48      * @param ctMime MIME type in the content-type.
49      * @param ctEnc encoding in the content-type.
50      * @param bomEnc BOM encoding.
51      * @param xmlGuessEnc XML guess encoding.
52      * @param xmlEnc XML prolog encoding.
53      * @param is the unconsumed InputStream.
54      *
55      */

56     public XmlReaderException(String JavaDoc msg,String JavaDoc ctMime,String JavaDoc ctEnc,
57                               String JavaDoc bomEnc,String JavaDoc xmlGuessEnc,String JavaDoc xmlEnc,InputStream JavaDoc is) {
58         super(msg);
59         _contentTypeMime = ctMime;
60         _contentTypeEncoding = ctEnc;
61         _bomEncoding = bomEnc;
62         _xmlGuessEncoding = xmlGuessEnc;
63         _xmlEncoding = xmlEnc;
64         _is = is;
65     }
66
67     /**
68      * Returns the BOM encoding found in the InputStream.
69      * <p>
70      * @return the BOM encoding, null if none.
71      *
72      */

73     public String JavaDoc getBomEncoding() {
74         return _bomEncoding;
75     }
76
77     /**
78      * Returns the encoding guess based on the first bytes of the InputStream.
79      * <p>
80      * @return the encoding guess, null if it couldn't be guessed.
81      *
82      */

83     public String JavaDoc getXmlGuessEncoding() {
84         return _xmlGuessEncoding;
85     }
86
87     /**
88      * Returns the encoding found in the XML prolog of the InputStream.
89      * <p>
90      * @return the encoding of the XML prolog, null if none.
91      *
92      */

93     public String JavaDoc getXmlEncoding() {
94         return _xmlEncoding;
95     }
96
97     /**
98      * Returns the MIME type in the content-type used to attempt determining the encoding.
99      * <p>
100      * @return the MIME type in the content-type, null if there was not content-type or the encoding detection
101      * did not involve HTTP.
102      *
103      */

104     public String JavaDoc getContentTypeMime() {
105         return _contentTypeMime;
106     }
107
108     /**
109      * Returns the encoding in the content-type used to attempt determining the encoding.
110      * <p>
111      * @return the encoding in the content-type, null if there was not content-type, no encoding in it
112      * or the encoding detection did not involve HTTP.
113      *
114      */

115     public String JavaDoc getContentTypeEncoding() {
116         return _contentTypeEncoding;
117     }
118
119     /**
120      * Returns the unconsumed InputStream to allow the application to do an alternate
121      * encoding detection on the InputStream.
122      * <p>
123      * @return the unconsumed InputStream.
124      *
125      */

126     public InputStream JavaDoc getInputStream() {
127         return _is;
128     }
129 }
130
Popular Tags