Class MeteredStream
java.lang.Object
java.io.OutputStream
org.forgerock.audit.events.handlers.writers.MeteredStream
- All Implemented Interfaces:
Closeable
,Flushable
,AutoCloseable
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
ConstructorDescriptionMeteredStream
(OutputStream out, long written) Create the stream wrapped around the specified output stream. -
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
Close the output stream which closes the target output stream.void
flush()
Flush the output stream which flushes the target output stream.long
Returns the number of bytes written in this stream.void
write
(byte[] buff) Write the specified buffer to the stream.void
write
(byte[] buff, int off, int len) Write the specified buffer to the stream.void
write
(int b) Write the specified byte to the stream.Methods inherited from class java.io.OutputStream
nullOutputStream
-
Constructor Details
-
MeteredStream
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 Details
-
write
Write the specified byte to the stream.- Specified by:
write
in classOutputStream
- Parameters:
b
- The value to be written to the stream.- Throws:
IOException
- if the write failed.
-
write
Write the specified buffer to the stream.- Overrides:
write
in classOutputStream
- Parameters:
buff
- The value to be written to the stream.- Throws:
IOException
- if the write failed.
-
write
Write the specified buffer to the stream.- Overrides:
write
in 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
Flush the output stream which flushes the target output stream.- Specified by:
flush
in interfaceFlushable
- Overrides:
flush
in classOutputStream
- Throws:
IOException
- if the flush failed.
-
close
Close the output stream which closes the target output stream.- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Overrides:
close
in 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
-