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  
 /*
 2  
  * Copyright 2004 Sun Microsystems, Inc.
 3  
  *
 4  
  * Licensed under the Apache License, Version 2.0 (the "License");
 5  
  * you may not use this file except in compliance with the License.
 6  
  * You may obtain a copy of the License at
 7  
  *
 8  
  *     http://www.apache.org/licenses/LICENSE-2.0
 9  
  *
 10  
  * Unless required by applicable law or agreed to in writing, software
 11  
  * distributed under the License is distributed on an "AS IS" BASIS,
 12  
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 13  
  * See the License for the specific language governing permissions and
 14  
  * limitations under the License.
 15  
  *
 16  
  */
 17  
 package org.codehaus.plexus.util.xml;
 18  
 
 19  
 import java.io.InputStream;
 20  
 import java.io.IOException;
 21  
 
 22  
 /**
 23  
  * The XmlReaderException is thrown by the XmlReader constructors if the charset encoding can not be determined
 24  
  * according to the XML 1.0 specification and RFC 3023.
 25  
  * <p>
 26  
  * The exception returns the unconsumed InputStream to allow the application to do an alternate processing with the
 27  
  * stream. Note that the original InputStream given to the XmlReader cannot be used as that one has been already read.
 28  
  * <p>
 29  
  *
 30  
  * @author Alejandro Abdelnur
 31  
  * @version revision 1.1 taken on 26/06/2007 from Rome (see
 32  
  *          https://rome.dev.java.net/source/browse/rome/src/java/com/sun/syndication/io/XmlReaderException.java)
 33  
  */
 34  
 public class XmlReaderException
 35  
     extends IOException
 36  
 {
 37  
     private String _bomEncoding;
 38  
 
 39  
     private String _xmlGuessEncoding;
 40  
 
 41  
     private String _xmlEncoding;
 42  
 
 43  
     private String _contentTypeMime;
 44  
 
 45  
     private String _contentTypeEncoding;
 46  
 
 47  
     private InputStream _is;
 48  
 
 49  
     /**
 50  
      * Creates an exception instance if the charset encoding could not be determined.
 51  
      * <p>
 52  
      * Instances of this exception are thrown by the XmlReader.
 53  
      * <p>
 54  
      *
 55  
      * @param msg message describing the reason for the exception.
 56  
      * @param bomEnc BOM encoding.
 57  
      * @param xmlGuessEnc XML guess encoding.
 58  
      * @param xmlEnc XML prolog encoding.
 59  
      * @param is the unconsumed InputStream.
 60  
      */
 61  
     public XmlReaderException( String msg, String bomEnc, String xmlGuessEnc, String xmlEnc, InputStream is )
 62  
     {
 63  0
         this( msg, null, null, bomEnc, xmlGuessEnc, xmlEnc, is );
 64  0
     }
 65  
 
 66  
     /**
 67  
      * Creates an exception instance if the charset encoding could not be determined.
 68  
      * <p>
 69  
      * Instances of this exception are thrown by the XmlReader.
 70  
      * <p>
 71  
      *
 72  
      * @param msg message describing the reason for the exception.
 73  
      * @param ctMime MIME type in the content-type.
 74  
      * @param ctEnc encoding in the content-type.
 75  
      * @param bomEnc BOM encoding.
 76  
      * @param xmlGuessEnc XML guess encoding.
 77  
      * @param xmlEnc XML prolog encoding.
 78  
      * @param is the unconsumed InputStream.
 79  
      */
 80  
     public XmlReaderException( String msg, String ctMime, String ctEnc, String bomEnc, String xmlGuessEnc,
 81  
                                String xmlEnc, InputStream is )
 82  
     {
 83  0
         super( msg );
 84  0
         _contentTypeMime = ctMime;
 85  0
         _contentTypeEncoding = ctEnc;
 86  0
         _bomEncoding = bomEnc;
 87  0
         _xmlGuessEncoding = xmlGuessEnc;
 88  0
         _xmlEncoding = xmlEnc;
 89  0
         _is = is;
 90  0
     }
 91  
 
 92  
     /**
 93  
      * Returns the BOM encoding found in the InputStream.
 94  
      * <p>
 95  
      *
 96  
      * @return the BOM encoding, null if none.
 97  
      */
 98  
     public String getBomEncoding()
 99  
     {
 100  0
         return _bomEncoding;
 101  
     }
 102  
 
 103  
     /**
 104  
      * Returns the encoding guess based on the first bytes of the InputStream.
 105  
      * <p>
 106  
      *
 107  
      * @return the encoding guess, null if it couldn't be guessed.
 108  
      */
 109  
     public String getXmlGuessEncoding()
 110  
     {
 111  0
         return _xmlGuessEncoding;
 112  
     }
 113  
 
 114  
     /**
 115  
      * Returns the encoding found in the XML prolog of the InputStream.
 116  
      * <p>
 117  
      *
 118  
      * @return the encoding of the XML prolog, null if none.
 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  
     public String getContentTypeMime()
 133  
     {
 134  0
         return _contentTypeMime;
 135  
     }
 136  
 
 137  
     /**
 138  
      * Returns the encoding in the content-type used to attempt determining the encoding.
 139  
      * <p>
 140  
      *
 141  
      * @return the encoding in the content-type, null if there was not content-type, no encoding in it or the encoding
 142  
      *         detection did not involve HTTP.
 143  
      */
 144  
     public String getContentTypeEncoding()
 145  
     {
 146  0
         return _contentTypeEncoding;
 147  
     }
 148  
 
 149  
     /**
 150  
      * Returns the unconsumed InputStream to allow the application to do an alternate encoding detection on the
 151  
      * InputStream.
 152  
      * <p>
 153  
      *
 154  
      * @return the unconsumed InputStream.
 155  
      */
 156  
     public InputStream getInputStream()
 157  
     {
 158  0
         return _is;
 159  
     }
 160  
 }