Coverage Report - org.codehaus.plexus.util.xml.XmlReaderException
 
Classes in this File Line Coverage Branch Coverage Complexity
XmlReaderException
0%
0/16
N/A
1
 
 1  
 package org.codehaus.plexus.util.xml;
 2  
 
 3  
 import java.io.InputStream;
 4  
 import java.io.IOException;
 5  
 
 6  
 /**
 7  
  * The XmlReaderException is thrown by the XmlReader constructors if the charset encoding can not be determined
 8  
  * 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 alternate processing with the
 11  
  * stream. Note that the original InputStream given to the XmlReader cannot be used as that one has been already read.
 12  
  * <p>
 13  
  * 
 14  
  * @author Alejandro Abdelnur
 15  
  * @version revision 1.1 taken on 26/06/2007 from Rome (see https://rome.dev.java.net/source/browse/rome/src/java/com/sun/syndication/io/XmlReaderException.java)
 16  
  * @deprecated TO BE REMOVED from here when plexus-utils is upgraded to 1.4.5+ (and prerequisite upgraded to Maven 2.0.6)
 17  
  */
 18  
 public class XmlReaderException extends IOException
 19  
 {
 20  
     private String _bomEncoding;
 21  
 
 22  
     private String _xmlGuessEncoding;
 23  
 
 24  
     private String _xmlEncoding;
 25  
 
 26  
     private String _contentTypeMime;
 27  
 
 28  
     private String _contentTypeEncoding;
 29  
 
 30  
     private InputStream _is;
 31  
 
 32  
     /**
 33  
      * Creates an exception instance if the charset encoding could not be determined.
 34  
      * <p>
 35  
      * Instances of this exception are thrown by the XmlReader.
 36  
      * <p>
 37  
      * 
 38  
      * @param msg
 39  
      *            message describing the reason for the exception.
 40  
      * @param bomEnc
 41  
      *            BOM encoding.
 42  
      * @param xmlGuessEnc
 43  
      *            XML guess encoding.
 44  
      * @param xmlEnc
 45  
      *            XML prolog encoding.
 46  
      * @param is
 47  
      *            the unconsumed InputStream.
 48  
      * 
 49  
      */
 50  
     public XmlReaderException( String msg, String bomEnc, String xmlGuessEnc, String xmlEnc, InputStream is )
 51  
     {
 52  0
         this( msg, null, null, bomEnc, xmlGuessEnc, xmlEnc, is );
 53  0
     }
 54  
 
 55  
     /**
 56  
      * Creates an exception instance if the charset encoding could not be determined.
 57  
      * <p>
 58  
      * Instances of this exception are thrown by the XmlReader.
 59  
      * <p>
 60  
      * 
 61  
      * @param msg
 62  
      *            message describing the reason for the exception.
 63  
      * @param ctMime
 64  
      *            MIME type in the content-type.
 65  
      * @param ctEnc
 66  
      *            encoding in the content-type.
 67  
      * @param bomEnc
 68  
      *            BOM encoding.
 69  
      * @param xmlGuessEnc
 70  
      *            XML guess encoding.
 71  
      * @param xmlEnc
 72  
      *            XML prolog encoding.
 73  
      * @param is
 74  
      *            the unconsumed InputStream.
 75  
      * 
 76  
      */
 77  
     public XmlReaderException( String msg, String ctMime, String ctEnc, String bomEnc, String xmlGuessEnc,
 78  
                                String xmlEnc, InputStream is )
 79  
     {
 80  0
         super( msg );
 81  0
         _contentTypeMime = ctMime;
 82  0
         _contentTypeEncoding = ctEnc;
 83  0
         _bomEncoding = bomEnc;
 84  0
         _xmlGuessEncoding = xmlGuessEnc;
 85  0
         _xmlEncoding = xmlEnc;
 86  0
         _is = is;
 87  0
     }
 88  
 
 89  
     /**
 90  
      * Returns the BOM encoding found in the InputStream.
 91  
      * <p>
 92  
      * 
 93  
      * @return the BOM encoding, null if none.
 94  
      * 
 95  
      */
 96  
     public String getBomEncoding()
 97  
     {
 98  0
         return _bomEncoding;
 99  
     }
 100  
 
 101  
     /**
 102  
      * Returns the encoding guess based on the first bytes of the InputStream.
 103  
      * <p>
 104  
      * 
 105  
      * @return the encoding guess, null if it couldn't be guessed.
 106  
      * 
 107  
      */
 108  
     public String getXmlGuessEncoding()
 109  
     {
 110  0
         return _xmlGuessEncoding;
 111  
     }
 112  
 
 113  
     /**
 114  
      * Returns the encoding found in the XML prolog of the InputStream.
 115  
      * <p>
 116  
      * 
 117  
      * @return the encoding of the XML prolog, null if none.
 118  
      * 
 119  
      */
 120  
     public String getXmlEncoding()
 121  
     {
 122  0
         return _xmlEncoding;
 123  
     }
 124  
 
 125  
     /**
 126  
      * Returns the MIME type in the content-type used to attempt determining the encoding.
 127  
      * <p>
 128  
      * 
 129  
      * @return the MIME type in the content-type, null if there was not content-type or the encoding detection did not
 130  
      *         involve HTTP.
 131  
      * 
 132  
      */
 133  
     public String getContentTypeMime()
 134  
     {
 135  0
         return _contentTypeMime;
 136  
     }
 137  
 
 138  
     /**
 139  
      * Returns the encoding in the content-type used to attempt determining the encoding.
 140  
      * <p>
 141  
      * 
 142  
      * @return the encoding in the content-type, null if there was not content-type, no encoding in it or the encoding
 143  
      *         detection did not involve HTTP.
 144  
      * 
 145  
      */
 146  
     public String getContentTypeEncoding()
 147  
     {
 148  0
         return _contentTypeEncoding;
 149  
     }
 150  
 
 151  
     /**
 152  
      * Returns the unconsumed InputStream to allow the application to do an alternate encoding detection on the
 153  
      * InputStream.
 154  
      * <p>
 155  
      * 
 156  
      * @return the unconsumed InputStream.
 157  
      * 
 158  
      */
 159  
     public InputStream getInputStream()
 160  
     {
 161  0
         return _is;
 162  
     }
 163  
 }