Class SharedFileBackedOutputStream
java.lang.Object
java.io.OutputStream
org.opendaylight.controller.cluster.io.FileBackedOutputStream
org.opendaylight.controller.cluster.io.SharedFileBackedOutputStream
- All Implemented Interfaces:
 Closeable,Flushable,AutoCloseable
A FileBackedOutputStream that allows for sharing in that it maintains a usage count and the backing file isn't
 deleted until the usage count reaches 0. The usage count is initialized to 1 on construction. Subsequent users of
 the instance must call 
incrementUsageCount(). The cleanup() method decrements the usage count and,
 when it reaches 0, the FileBackedOutputStream.cleanup() is called to delete the backing file.- Author:
 - Thomas Pantelis
 
- 
Constructor Summary
Constructors - 
Method Summary
Modifier and TypeMethodDescriptionvoidcleanup()Overridden to decrement the usage count.intReturns the current usage count.voidIncrements the usage count.<T> voidsetOnCleanupCallback(Consumer<T> callback, T context) Sets the callback to be notified whenFileBackedOutputStream.cleanup()is called to delete the backing file.Methods inherited from class org.opendaylight.controller.cluster.io.FileBackedOutputStream
asByteSource, close, flush, getCount, write, write, writeMethods inherited from class java.io.OutputStream
nullOutputStream 
- 
Constructor Details
- 
SharedFileBackedOutputStream
 
 - 
 - 
Method Details
- 
incrementUsageCount
public void incrementUsageCount()Increments the usage count. This must be followed by a corresponding call tocleanup()when this instance is no longer needed. - 
getUsageCount
public int getUsageCount()Returns the current usage count.- Returns:
 - the current usage count
 
 - 
setOnCleanupCallback
Sets the callback to be notified whenFileBackedOutputStream.cleanup()is called to delete the backing file. - 
cleanup
public void cleanup()Overridden to decrement the usage count.- Overrides:
 cleanupin classFileBackedOutputStream
 
 -