Package com.io7m.cedarbridge.exprsrc.internal

# Class CBRecordingUnicodeCharacterReader

java.lang.Object
com.io7m.cedarbridge.exprsrc.internal.CBRecordingUnicodeCharacterReader

All Implemented Interfaces:
  `com.io7m.jeucreader.UnicodeCharacterReaderPushBackType`, `com.io7m.jeucreader.UnicodeCharacterReaderType`

public final class CBRecordingUnicodeCharacterReader extends Object implements com.io7m.jeucreader.UnicodeCharacterReaderPushBackType
A character reader that records characters.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `CBRecordingUnicodeCharacterReader(com.io7m.jeucreader.UnicodeCharacterReaderPushBackType inDelegate)`
  A character reader that records characters.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `pushCodePoint(int c)`
  `int`
  `readCodePoint()`
  `Optional<String>`
  `showLineFor(int target)`
  Show the line with the given number.

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### CBRecordingUnicodeCharacterReader

    public CBRecordingUnicodeCharacterReader(com.io7m.jeucreader.UnicodeCharacterReaderPushBackType inDelegate)
    A character reader that records characters.
    Parameters:
      `inDelegate` - The underlying character reader

- ## Method Details

  - ### pushCodePoint

    public void pushCodePoint(int c)
    Specified by:
      `pushCodePoint` in interface `com.io7m.jeucreader.UnicodeCharacterReaderPushBackType`

  - ### showLineFor

    public Optional<String> showLineFor(int target)
    Show the line with the given number.
    Parameters:
      `target` - The number
    Returns:
      The line, if any

  - ### readCodePoint

    public int readCodePoint() throws IOException, com.io7m.jeucreader.InvalidSurrogatePair, com.io7m.jeucreader.MissingLowSurrogate, com.io7m.jeucreader.OrphanLowSurrogate
    Specified by:
      `readCodePoint` in interface `com.io7m.jeucreader.UnicodeCharacterReaderType`
    Throws:
      `IOException`
      `com.io7m.jeucreader.InvalidSurrogatePair`
      `com.io7m.jeucreader.MissingLowSurrogate`
      `com.io7m.jeucreader.OrphanLowSurrogate`