net.sf.asyncobjects.util
Class CompensatedClosable
java.lang.Object
net.sf.asyncobjects.util.Compensated
net.sf.asyncobjects.util.CompensatedClosable
- All Implemented Interfaces:
- ExplicitSharing
public abstract class CompensatedClosable
- extends Compensated
An utility subclass that closes closable that has been received.
- Author:
- const
Method Summary |
protected void |
compensateValue(Object value)
Compensate successful execution |
protected abstract ACloseable |
open()
An open method that should be overriden by subclasses. |
protected Object |
run()
Run primary action. |
CompensatedClosable
public CompensatedClosable()
compensateValue
protected void compensateValue(Object value)
throws Throwable
- Description copied from class:
Compensated
- Compensate successful execution
- Specified by:
compensateValue
in class Compensated
- Parameters:
value
- a value to compensate with
- Throws:
Throwable
- if there is problem with compensating. Note that fault is
logged and ignored.- See Also:
Compensated.compensateValue(java.lang.Object)
run
protected final Object run()
throws Throwable
- Description copied from class:
Compensated
- Run primary action. This method is called by containing class upon
recieving instance of this class.
- Specified by:
run
in class Compensated
- Returns:
- a value that is either promise, asyncobject, or scalar value. It
is not treated specially.
- Throws:
Throwable
- if there is a problem during execution- See Also:
Compensated.run()
open
protected abstract ACloseable open()
throws Throwable
- An open method that should be overriden by subclasses.
- Returns:
- an proxy for closeable resource that will be eventually resolved
- Throws:
Throwable
- if there is a problem
Copyright © 2002-2007 Constantine Plotnikov. All Rights Reserved.