KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > sape > carbon > services > threadpool > TaskInfo


1 /*
2  * The contents of this file are subject to the Sapient Public License
3  * Version 1.0 (the "License"); you may not use this file except in compliance
4  * with the License. You may obtain a copy of the License at
5  * http://carbon.sf.net/License.html.
6  *
7  * Software distributed under the License is distributed on an "AS IS" basis,
8  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
9  * the specific language governing rights and limitations under the License.
10  *
11  * The Original Code is The Carbon Component Framework.
12  *
13  * The Initial Developer of the Original Code is Sapient Corporation
14  *
15  * Copyright (C) 2003 Sapient Corporation. All Rights Reserved.
16  */

17
18 package org.sape.carbon.services.threadpool;
19
20 /**
21  * An object that implements this interface is returned by the ThreadPool
22  * execute methods. This object can be used to get information about the status
23  * of the task and why it failed. It can also be used to wait until the task
24  * completes.
25  *
26  * <br>Copyright 2002 Sapient
27  * @since carbon 1.2
28  * @author Douglas Voet, Nov 5, 2002
29  * @version $Revision: 1.5 $($Author: dvoet $ / $Date: 2003/11/20 18:49:59 $)
30  */

31 public interface TaskInfo {
32     /**
33      * Gets the task's status. Note that if either the
34      * QueueFullPolicyEnum.DISCARD or QueueFullPolicyEnum.DISCARD_OLDEST
35      * policies are used, a task may never get out of the
36      * TaskStatusEnum.PENDING state.
37      *
38      * @return status
39      */

40     TaskStatusEnum getStatus();
41
42     /**
43      * Waits indefinitely for the task to complete. If the task has already
44      * completed, it returns.
45      *
46      * @throws InterruptedException
47      */

48     void waitUntilExecuted() throws InterruptedException JavaDoc;
49
50     /**
51      * Waits a given amout of time for the task to complete. You can check
52      * the status of the task afterward to see if it actually completed or
53      * timed out. If the task has already completed, it returns.
54      *
55      * @param miliseconds timout in miliseconds
56      * @throws InterruptedException
57      */

58     void waitUntilExecuted(long miliseconds) throws InterruptedException JavaDoc;
59
60     /**
61      * Gets the cause of task failure.
62      *
63      * @return the exception that caused the failure, or null if the task
64      * did not complete or completed successfully.
65      */

66     Throwable JavaDoc getFailureCause();
67     
68     /**
69      * Gets the name of the task as it was passed in to the
70      * ThreadPool.execute method.
71      * @return name
72      */

73     String JavaDoc getTaskName();
74     
75 }
76
Popular Tags