com.github.javaparser.StringProvider Maven / Gradle / Ivy
/* Generated by: ParserGeneratorCC: Do not edit this line. StringProvider.java Version 1.1 */
/* ParserGeneratorCCOptions:KEEP_LINE_COLUMN=true */
/*
* Copyright (C) 2007-2010 Júlio Vilmar Gesser.
* Copyright (C) 2011, 2013-2020 The JavaParser Team.
*
* This file is part of JavaParser.
*
* JavaParser can be used either under the terms of
* a) the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* b) the terms of the Apache License
*
* You should have received a copy of both licenses in LICENCE.LGPL and
* LICENCE.APACHE. Please refer to those files for details.
*
* JavaParser is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*/
package com.github.javaparser;
import java.io.IOException;
public class StringProvider implements Provider
{
private String m_sStr;
private int m_nPos = 0;
private final int m_nLen;
public StringProvider(final String sStr)
{
m_sStr = sStr;
m_nLen = sStr.length();
}
public int read (final char[] aDest, final int nOfs, final int nLen) throws IOException
{
final int nLeft = m_nLen - m_nPos;
if (nLeft <= 0)
return -1;
int nCharsRead = aDest.length - nOfs;
if (nLen < nCharsRead)
nCharsRead = nLen;
if (nLeft < nCharsRead)
nCharsRead = nLeft;
m_sStr.getChars(m_nPos, m_nPos + nCharsRead, aDest, nOfs);
m_nPos += nCharsRead;
return nCharsRead;
}
public void close()
{
m_sStr = null;
}
}
/* ParserGeneratorCC - OriginalChecksum=d08f934ee2183c4d42cb2b70cc985549 (do not edit this line) */