Package com.helger.commons.io.stream
Class LoggingInputStream
- java.lang.Object
-
- java.io.InputStream
-
- java.io.FilterInputStream
-
- com.helger.commons.io.stream.WrappedInputStream
-
- com.helger.commons.io.stream.LoggingInputStream
-
- All Implemented Interfaces:
Closeable,AutoCloseable
public class LoggingInputStream extends WrappedInputStream
A wrapper around anInputStreamthat logs read and skip actions.- Author:
- Philip Helger
-
-
Field Summary
-
Fields inherited from class java.io.FilterInputStream
in
-
-
Constructor Summary
Constructors Constructor Description LoggingInputStream(InputStream aSourceIS)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()longgetPosition()voidmark(int nReadlimit)protected voidonClose(long nCurrentPosition)protected voidonMark(int nReadLimit, long nCurrentPosition)protected voidonRead(int nBytesRead, long nNewPosition)protected voidonReset(long nCurrentPosition)protected voidonSkip(long nBytesSkipped, long nNewPosition)intread()intread(byte[] aBuf, int nOffset, int nLength)voidreset()longskip(long n)StringtoString()-
Methods inherited from class com.helger.commons.io.stream.WrappedInputStream
getWrappedInputStream
-
Methods inherited from class java.io.FilterInputStream
available, markSupported, read
-
Methods inherited from class java.io.InputStream
nullInputStream, readAllBytes, readNBytes, readNBytes, transferTo
-
-
-
-
Constructor Detail
-
LoggingInputStream
public LoggingInputStream(@Nonnull InputStream aSourceIS)
- Parameters:
aSourceIS- The input stream to be logged. May not benull.
-
-
Method Detail
-
getPosition
public final long getPosition()
- Returns:
- The current read position. Always ≥ 0.
-
onRead
@OverrideOnDemand protected void onRead(int nBytesRead, long nNewPosition)
-
onSkip
@OverrideOnDemand protected void onSkip(long nBytesSkipped, long nNewPosition)
-
onMark
@OverrideOnDemand protected void onMark(int nReadLimit, long nCurrentPosition)
-
onReset
@OverrideOnDemand protected void onReset(long nCurrentPosition)
-
onClose
@OverrideOnDemand protected void onClose(long nCurrentPosition)
-
read
public final int read() throws IOException- Overrides:
readin classFilterInputStream- Throws:
IOException
-
read
public final int read(byte[] aBuf, int nOffset, int nLength) throws IOException- Overrides:
readin classFilterInputStream- Throws:
IOException
-
skip
public final long skip(@Nonnegative long n) throws IOException
- Overrides:
skipin classFilterInputStream- Throws:
IOException
-
mark
public final void mark(@Nonnegative int nReadlimit)
- Overrides:
markin classFilterInputStream
-
reset
public final void reset() throws IOException- Overrides:
resetin classFilterInputStream- Throws:
IOException
-
close
public void close() throws IOException- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Overrides:
closein classFilterInputStream- Throws:
IOException
-
toString
public String toString()
- Overrides:
toStringin classWrappedInputStream
-
-