31 |
|
* given <tt>Callable</tt>. |
32 |
|
* |
33 |
|
* @param callable the callable task |
34 |
+ |
* @throws NullPointerException if callable is null |
35 |
|
*/ |
36 |
|
public FutureTask(Callable<V> callable) { |
37 |
|
// must set after super ctor call to use inner class |
38 |
|
super(); |
39 |
+ |
if (callable == null) |
40 |
+ |
throw new NullPointerException(); |
41 |
|
setRunnable(new InnerCancellableFuture<V>(callable)); |
42 |
|
} |
43 |
|
|
48 |
|
* |
49 |
|
* @param runnable the runnable task |
50 |
|
* @param result the result to return on successful completion. If |
51 |
< |
* you don't need a particular result, consider just using |
51 |
> |
* you don't need a particular result, consider using |
52 |
|
* <tt>Boolean.TRUE</tt>. |
53 |
+ |
* @throws NullPointerException if runnable is null |
54 |
|
*/ |
55 |
|
public FutureTask(final Runnable runnable, final V result) { |
56 |
|
super(); |
57 |
+ |
if (runnable == null) |
58 |
+ |
throw new NullPointerException(); |
59 |
|
setRunnable(new InnerCancellableFuture<V> |
60 |
|
(new Callable<V>() { |
61 |
|
public V call() { |