consciouscode.util
Class WeakThunk<T>
java.lang.Object
consciouscode.util.WeakThunk<T>
- All Implemented Interfaces:
- Runnable
public class WeakThunk<T>
- extends Object
- implements Runnable
A Runnable object that uses reflection to invoke a no-argument
method on a particular target object, while allowing the target to be
garbage-collected.
Since a WeakThunk maintains a WeakReference to the
target, the target may be garbage collected while the runnable is still
accessible. If that happens, the run() method will simply do
nothing.
|
Constructor Summary |
WeakThunk(T target,
String callbackMethodName)
Create a new Runnable whose run() method will invoke the named
method on the target. |
|
Method Summary |
void |
run()
|
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
WeakThunk
public WeakThunk(T target,
String callbackMethodName)
throws IllegalArgumentException,
SecurityException
- Create a new Runnable whose
run() method will invoke the named
method on the target.
- Parameters:
target - must not be null.callbackMethodName - must identify a public no-argument method
implemented by target.
- Throws:
IllegalArgumentException - if callbackMethodName
does not identify a public no-parameter method on the
target object, or if the callback throws any checked
exception.
SecurityException
run
public void run()
- Specified by:
run in interface Runnable
Copyright © 2001–2012
Todd V. Jonker. All Rights Reserved.