21 |
public String state; |
public String state; |
22 |
} |
} |
23 |
|
|
24 |
protected volatile boolean abort = false;//mark volatile to make sure value isn't cached by threads |
//protected volatile boolean abort = false;//mark volatile to make sure value isn't cached by threads |
25 |
protected volatile TaskState state = TaskState.STATE_QUEUED; |
protected volatile TaskState state = TaskState.STATE_QUEUED; |
26 |
protected TaskManager manager; |
protected TaskManager manager; |
27 |
private String errorMsg; |
private String errorMsg; |
37 |
@Override |
@Override |
38 |
public final void run() { |
public final void run() { |
39 |
|
|
40 |
if (this.state == TaskState.STATE_ABORTED) {//if this task as cancelled while still in queue |
if (this.state != TaskState.STATE_QUEUED) {//if this task as cancelled while still in queue |
41 |
return; |
return; |
42 |
} |
} |
43 |
|
|
99 |
} |
} |
100 |
|
|
101 |
public boolean isAborted() { |
public boolean isAborted() { |
102 |
return this.abort; |
return (this.state == TaskState.STATE_ABORTED); |
103 |
} |
} |
104 |
|
|
105 |
public void doAbort() { |
public void doAbort() { |
106 |
this.abort = true; |
this.state = TaskState.STATE_ABORTED; |
107 |
} |
} |
108 |
|
|
109 |
public void doAbort(Exception e) { |
public void doAbort(Exception e) { |
110 |
this.abort = true; |
this.state = TaskState.STATE_ABORTED; |
111 |
this.errorMsg = e.getMessage(); |
this.errorMsg = e.getMessage(); |
112 |
} |
} |
113 |
|
|