Class MeteredStream
- java.lang.Object
-
- java.io.OutputStream
-
- org.forgerock.audit.events.handlers.writers.MeteredStream
-
- All Implemented Interfaces:
Closeable,Flushable,AutoCloseable
public final class MeteredStream extends OutputStream
A metered stream is a subclass of OutputStream that (a) forwards all its output to a target stream (b) keeps track of how many bytes have been written.
-
-
Constructor Summary
Constructors Constructor Description MeteredStream(OutputStream out, long written)Create the stream wrapped around the specified output stream.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()Close the output stream which closes the target output stream.voidflush()Flush the output stream which flushes the target output stream.longgetBytesWritten()Returns the number of bytes written in this stream.voidwrite(byte[] buff)Write the specified buffer to the stream.voidwrite(byte[] buff, int off, int len)Write the specified buffer to the stream.voidwrite(int b)Write the specified byte to the stream.-
Methods inherited from class java.io.OutputStream
nullOutputStream
-
-
-
-
Constructor Detail
-
MeteredStream
public MeteredStream(OutputStream out, long written)
Create the stream wrapped around the specified output stream.- Parameters:
out- The target output stream to keep track of.written- The number of bytes written to the stream.
-
-
Method Detail
-
write
public void write(int b) throws IOExceptionWrite the specified byte to the stream.- Specified by:
writein classOutputStream- Parameters:
b- The value to be written to the stream.- Throws:
IOException- if the write failed.
-
write
public void write(byte[] buff) throws IOExceptionWrite the specified buffer to the stream.- Overrides:
writein classOutputStream- Parameters:
buff- The value to be written to the stream.- Throws:
IOException- if the write failed.
-
write
public void write(byte[] buff, int off, int len) throws IOExceptionWrite the specified buffer to the stream.- Overrides:
writein classOutputStream- Parameters:
buff- The value to be written to the stream.off- The offset to write from.len- The length of the buffer to write.- Throws:
IOException- if the write failed.
-
flush
public void flush() throws IOExceptionFlush the output stream which flushes the target output stream.- Specified by:
flushin interfaceFlushable- Overrides:
flushin classOutputStream- Throws:
IOException- if the flush failed.
-
close
public void close() throws IOExceptionClose the output stream which closes the target output stream.- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Overrides:
closein classOutputStream- Throws:
IOException- if the close failed.
-
getBytesWritten
public long getBytesWritten()
Returns the number of bytes written in this stream.- Returns:
- the number of bytes
-
-