View Javadoc
1   /* Generated by: ParserGeneratorCC: Do not edit this line. StringProvider.java Version 1.1 */
2   /* ParserGeneratorCCOptions:KEEP_LINE_COLUMN=true */
3   package org.apache.commons.jexl3.parser;
4   
5     
6   import java.io.IOException;
7     
8   public class StringProvider implements Provider
9   {
10    private String m_sStr;
11    private int m_nPos = 0;
12    private final int m_nLen;
13    
14    public StringProvider(final String sStr)
15    {
16      m_sStr = sStr;
17      m_nLen = sStr.length();
18    }
19    
20    public int read (final char[] aDest, final int nOfs, final int nLen) throws IOException
21    {
22      final int nLeft = m_nLen - m_nPos;
23      if (nLeft <= 0)
24        return -1;
25      
26      int nCharsRead = aDest.length - nOfs;
27      if (nLen < nCharsRead)
28        nCharsRead = nLen;
29      if (nLeft < nCharsRead)
30        nCharsRead = nLeft;
31      
32      m_sStr.getChars(m_nPos, m_nPos + nCharsRead, aDest, nOfs);
33      m_nPos += nCharsRead;
34      
35      return nCharsRead;
36    }
37  
38    public void close()
39    {
40      m_sStr = null;
41    }
42  }
43  /* ParserGeneratorCC - OriginalChecksum=38d0917156eee4ceaf568285a30e6123 (do not edit this line) */