Coverage Report - org.codehaus.plexus.util.StringInputStream
 
Classes in this File Line Coverage Branch Coverage Complexity
StringInputStream
0%
0/14
N/A
1.333
 
 1  
 package org.codehaus.plexus.util;
 2  
 
 3  
 /* ====================================================================
 4  
  * The Apache Software License, Version 1.1
 5  
  *
 6  
  * Copyright (c) 2001 The Apache Software Foundation.  All rights
 7  
  * reserved.
 8  
  *
 9  
  * Redistribution and use in source and binary forms, with or without
 10  
  * modification, are permitted provided that the following conditions
 11  
  * are met:
 12  
  *
 13  
  * 1. Redistributions of source code must retain the above copyright
 14  
  *    notice, this list of conditions and the following disclaimer.
 15  
  *
 16  
  * 2. Redistributions in binary form must reproduce the above copyright
 17  
  *    notice, this list of conditions and the following disclaimer in
 18  
  *    the documentation and/or other materials provided with the
 19  
  *    distribution.
 20  
  *
 21  
  * 3. The end-user documentation included with the redistribution,
 22  
  *    if any, must include the following acknowledgment:
 23  
  *       "This product includes software developed by the
 24  
  *        Apache Software Foundation (http://www.codehaus.org/)."
 25  
  *    Alternately, this acknowledgment may appear in the software itself,
 26  
  *    if and wherever such third-party acknowledgments normally appear.
 27  
  *
 28  
  * 4. The names "Apache" and "Apache Software Foundation" and
 29  
  *    "Apache MavenSession" must not be used to endorse or promote products
 30  
  *    derived from this software without prior written permission. For
 31  
  *    written permission, please contact codehaus@codehaus.org.
 32  
  *
 33  
  * 5. Products derived from this software may not be called "Apache",
 34  
  *    "Apache MavenSession", nor may "Apache" appear in their name, without
 35  
  *    prior written permission of the Apache Software Foundation.
 36  
  *
 37  
  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
 38  
  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
 39  
  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 40  
  * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
 41  
  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 42  
  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 43  
  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
 44  
  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
 45  
  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
 46  
  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
 47  
  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 48  
  * SUCH DAMAGE.
 49  
  * ====================================================================
 50  
  *
 51  
  * This software consists of voluntary contributions made by many
 52  
  * individuals on behalf of the Apache Software Foundation.  For more
 53  
  * information on the Apache Software Foundation, please see
 54  
  * <http://www.codehaus.org/>.
 55  
  *
 56  
  * ====================================================================
 57  
  */
 58  
 
 59  
 import java.io.IOException;
 60  
 import java.io.InputStream;
 61  
 import java.io.StringReader;
 62  
 
 63  
 /**
 64  
  * Wraps a String as an InputStream. Note that data will be lost for characters not in ISO Latin 1, as a simple
 65  
  * char->byte mapping is assumed.
 66  
  *
 67  
  * @author <a href="mailto:umagesh@codehaus.org">Magesh Umasankar</a>
 68  
  * @deprecated As of version 1.5.2 this class should no longer be used because it does not properly handle character
 69  
  *             encoding. Instead, wrap the output from {@link String#getBytes(String)} into a
 70  
  *             {@link java.io.ByteArrayInputStream}.
 71  
  */
 72  
 public class StringInputStream
 73  
     extends InputStream
 74  
 {
 75  
     /** Source string, stored as a StringReader */
 76  
     private StringReader in;
 77  
 
 78  
     /**
 79  
      * Composes a stream from a String
 80  
      *
 81  
      * @param source The string to read from. Must not be <code>null</code>.
 82  
      */
 83  
     public StringInputStream( String source )
 84  0
     {
 85  0
         in = new StringReader( source );
 86  0
     }
 87  
 
 88  
     /**
 89  
      * Reads from the Stringreader, returning the same value. Note that data will be lost for characters not in ISO
 90  
      * Latin 1. Clients assuming a return value in the range -1 to 255 may even fail on such input.
 91  
      *
 92  
      * @return the value of the next character in the StringReader
 93  
      * @exception IOException if the original StringReader fails to be read
 94  
      */
 95  
     public int read()
 96  
         throws IOException
 97  
     {
 98  0
         return in.read();
 99  
     }
 100  
 
 101  
     /**
 102  
      * Closes the Stringreader.
 103  
      *
 104  
      * @exception IOException if the original StringReader fails to be closed
 105  
      */
 106  
     public void close()
 107  
         throws IOException
 108  
     {
 109  0
         in.close();
 110  0
     }
 111  
 
 112  
     /**
 113  
      * Marks the read limit of the StringReader.
 114  
      *
 115  
      * @param limit the maximum limit of bytes that can be read before the mark position becomes invalid
 116  
      */
 117  
     public synchronized void mark( final int limit )
 118  
     {
 119  
         try
 120  
         {
 121  0
             in.mark( limit );
 122  
         }
 123  0
         catch ( IOException ioe )
 124  
         {
 125  0
             throw new RuntimeException( ioe.getMessage() );
 126  0
         }
 127  0
     }
 128  
 
 129  
     /**
 130  
      * Resets the StringReader.
 131  
      *
 132  
      * @exception IOException if the StringReader fails to be reset
 133  
      */
 134  
     public synchronized void reset()
 135  
         throws IOException
 136  
     {
 137  0
         in.reset();
 138  0
     }
 139  
 
 140  
     /**
 141  
      * @see InputStream#markSupported
 142  
      */
 143  
     public boolean markSupported()
 144  
     {
 145  0
         return in.markSupported();
 146  
     }
 147  
 }