View Javadoc

    1   package org.codehaus.groovy.syntax.lexer;
    2
    3   import java.io.Reader;
    4   import java.io.IOException;
    5   import org.codehaus.groovy.syntax.ReadException;
    6
    7   public class ReaderCharStream
    8       extends AbstractCharStream
    9   {
    10      private Reader in;
    11
    12      public ReaderCharStream(Reader in)
    13      {
    14          this.in = in;
    15      }
    16
    17      public ReaderCharStream(Reader in,
    18                              String description)
    19      {
    20          super( description );
    21          this.in = in;
    22      }
    23
    24      public Reader getReader()
    25      {
    26          return in;
    27      }
    28
    29      public char consume()
    30          throws ReadException
    31      {
    32          try
    33          {
    34              return (char) getReader().read();
    35          }
    36          catch( IOException e )
    37          {
    38              throw new ReadException( e );
    39          }
    40      }
    41
    42      public void close()
    43          throws ReadException
    44      {
    45          try
    46          {
    47              getReader().close();
    48          }
    49          catch( IOException e )
    50          {
    51              throw new ReadException( e );
    52          }
    53      }
    54  }