Class InputStreamConsumer

java.lang.Object
org.apache.synapse.format.syslog.InputStreamConsumer

public class InputStreamConsumer extends Object
Input stream consumer. This is a helper class used by SyslogMessageBuilder to parse data from an input stream. In particular it supports look ahead and allows to buffer and reread data from the stream.
  • Constructor Summary

    Constructors
    Constructor
    Description
    Constructor.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Consume the last byte read from the stream and advance to the next byte.
    void
    consume(int expected)
    Check the value of the next byte in the stream and consume it.
    void
    expect(int expected)
    Check the value of the next byte in the stream.
    int
    getInteger(int maxDigits)
    Read a decimal representation of an integer from the stream.
    int
    Get the current position in the stream.
    int
    Get the next byte from the stream without consuming it.
    void
    setPosition(int position)
    Reset the stream position to a previous value.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • InputStreamConsumer

      public InputStreamConsumer(InputStream in)
      Constructor.
      Parameters:
      in - the input stream to consume data from
  • Method Details

    • next

      public int next() throws IOException
      Get the next byte from the stream without consuming it. If the byte is not consumed between invocations, two successive calls to this method will return the same result.
      Returns:
      the next byte as an integer value in the range 0..255 or -1 if the end of the stream has been reached
      Throws:
      IOException - if an I/O error occurred while reading from the stream
    • consume

      public void consume()
      Consume the last byte read from the stream and advance to the next byte.
    • getPosition

      public int getPosition()
      Get the current position in the stream.
      Returns:
      the position in the stream
    • setPosition

      public void setPosition(int position)
      Reset the stream position to a previous value.
      Parameters:
      position - the new position
    • expect

      public void expect(int expected) throws IOException, ProtocolException
      Check the value of the next byte in the stream.
      Parameters:
      expected - the expected value
      Throws:
      IOException - if an I/O error occurred while reading from the stream
      ProtocolException - if the next byte doesn't have the expected value
    • consume

      public void consume(int expected) throws IOException, ProtocolException
      Check the value of the next byte in the stream and consume it. This is a convenience method that combines a call to expect(int) with a call to consume().
      Parameters:
      expected - the expected value
      Throws:
      IOException - if an I/O error occurred while reading from the stream
      ProtocolException - if the next byte doesn't have the expected value
    • getInteger

      public int getInteger(int maxDigits) throws IOException, ProtocolException
      Read a decimal representation of an integer from the stream.
      Parameters:
      maxDigits - the maximum number of expected digits
      Returns:
      the integer value
      Throws:
      IOException - if an I/O error occurred while reading from the stream
      ProtocolException - if no integer value was found or if it was too long