Class ConfigStream

All Implemented Interfaces:
Closeable, AutoCloseable

public class ConfigStream
extends InputStream
Stream wrapping or copying a generic InputStream for the ConfigRecognizer API. The purpose of this class is to make the provided InputStream resetable so that multiple ConfigRecognizer implementations can iterate over the stream. There are even basic InputStream implementations that don't support InputStream.reset() such as BufferedInputStream. If calling reset() on the provided implementation fails with an exception, this class reads the stream into a byte[] and delegates all InputStream method calls to a ByteArrayInputStream created with this byte[]. To prevent OOM issues, the size of this byte[] is limited to 4096 bytes. This limit can be configured in the constructor.
See Also: