| 1 | /* Generated by: ParserGeneratorCC: Do not edit this line. StreamProvider.java Version 1.1 */ |
|---|---|
| 2 | /* ParserGeneratorCCOptions:KEEP_LINE_COLUMN=true */ |
| 3 | /* |
| 4 | * Copyright (C) 2007-2010 JĂșlio Vilmar Gesser. |
| 5 | * Copyright (C) 2011, 2013-2020 The JavaParser Team. |
| 6 | * |
| 7 | * This file is part of JavaParser. |
| 8 | * |
| 9 | * JavaParser can be used either under the terms of |
| 10 | * a) the GNU Lesser General Public License as published by |
| 11 | * the Free Software Foundation, either version 3 of the License, or |
| 12 | * (at your option) any later version. |
| 13 | * b) the terms of the Apache License |
| 14 | * |
| 15 | * You should have received a copy of both licenses in LICENCE.LGPL and |
| 16 | * LICENCE.APACHE. Please refer to those files for details. |
| 17 | * |
| 18 | * JavaParser is distributed in the hope that it will be useful, |
| 19 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 20 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| 21 | * GNU Lesser General Public License for more details. |
| 22 | */ |
| 23 | package com.github.javaparser; |
| 24 | |
| 25 | |
| 26 | import java.io.BufferedReader; |
| 27 | import java.io.IOException; |
| 28 | import java.io.InputStream; |
| 29 | import java.io.InputStreamReader; |
| 30 | import java.io.Reader; |
| 31 | |
| 32 | /** |
| 33 | * NOTE : This generated class can be safely deleted if installing in a GWT installation (use StringProvider instead) |
| 34 | */ |
| 35 | public class StreamProvider implements Provider |
| 36 | { |
| 37 | private Reader m_aReader; |
| 38 | |
| 39 | @Deprecated |
| 40 | public StreamProvider(final InputStream stream, final String charsetName) throws IOException |
| 41 | { |
| 42 | this (new BufferedReader (new InputStreamReader (stream, charsetName))); |
| 43 | } |
| 44 | |
| 45 | public StreamProvider(final InputStream stream, final java.nio.charset.Charset charset) |
| 46 | { |
| 47 | this (new BufferedReader (new InputStreamReader (stream, charset))); |
| 48 | } |
| 49 | |
| 50 | public StreamProvider (final Reader reader) |
| 51 | { |
| 52 | m_aReader = reader; |
| 53 | } |
| 54 | |
| 55 | public int read (final char[] aDest, final int nOfs, final int nLen) throws IOException |
| 56 | { |
| 57 | int result = m_aReader.read(aDest, nOfs, nLen); |
| 58 | |
| 59 | /* CBA -- Added 2014/03/29 -- |
| 60 | This logic allows the generated Java code to be easily translated to C# (via sharpen) - |
| 61 | as in C# 0 represents end of file, and in Java, -1 represents end of file |
| 62 | See : http://msdn.microsoft.com/en-us/library/9kstw824(v=vs.110).aspx |
| 63 | ** Technically, this is not required for java but the overhead is extremely low compared to the code generation benefits. |
| 64 | */ |
| 65 | if (result == 0) |
| 66 | if (nOfs < aDest.length && nLen > 0) |
| 67 | result = -1; |
| 68 | |
| 69 | return result; |
| 70 | } |
| 71 | |
| 72 | public void close () throws IOException |
| 73 | { |
| 74 | if (m_aReader != null) |
| 75 | m_aReader.close(); |
| 76 | } |
| 77 | } |
| 78 | /* ParserGeneratorCC - OriginalChecksum=b9eca802845867da8b35946746967e8e (do not edit this line) */ |
| 79 |
Members