Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

Source code: com/virtuosotechnologies/lib/asyncjob/AsyncJobExecution.java


1   /*
2   ================================================================================
3   
4     FILE:  AsyncJobExecution.java
5     
6     PROJECT:
7     
8       Virtuoso Utilities
9     
10    CONTENTS:
11    
12      An object that tracks an execution of a single AsyncJob
13    
14    PROGRAMMERS:
15    
16      Daniel Azuma (DA)  <dazuma@kagi.com>
17    
18    COPYRIGHT:
19    
20      Copyright (C) 2003  Daniel Azuma  (dazuma@kagi.com)
21      
22      This program is free software; you can redistribute it and/or
23      modify it under the terms of the GNU General Public License as
24      published by the Free Software Foundation; either version 2
25      of the License, or (at your option) any later version.
26      
27      This program is distributed in the hope that it will be useful,
28      but WITHOUT ANY WARRANTY; without even the implied warranty of
29      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
30      GNU General Public License for more details.
31      
32      You should have received a copy of the GNU General Public
33      License along with this program; if not, write to
34        Free Software Foundation, Inc.
35        59 Temple Place, Suite 330
36        Boston, MA 02111-1307 USA
37  
38  ================================================================================
39  */
40  
41  
42  package com.virtuosotechnologies.lib.asyncjob;
43  
44  
45  /**
46   * An object that tracks an execution of a single AsyncJob.
47   */
48  public interface AsyncJobExecution
49  {
50    /**
51     * Get the runner running this job
52     *
53     * @return the AsyncJobRunner
54     */
55    public AsyncJobRunner getAsyncJobRunner();
56    
57    
58    /**
59     * Get the job being run
60     *
61     * @return the AsyncJob
62     */
63    public AsyncJob getAsyncJob();
64    
65    
66    /**
67     * Wait until the job is finished.
68     *
69     * @return true if the job succeeded, false if it failed
70     */
71    public boolean waitForCompletion()
72    throws
73      InterruptedException;
74    
75    
76    /**
77     * Has the job started yet?
78     *
79     * @return true if the job has started
80     */
81    public boolean isStarted();
82    
83    
84    /**
85     * Has the job finished yet?
86     *
87     * @return true if the job has finished
88     */
89    public boolean isFinished();
90    
91    
92    /**
93     * Get the job result value.
94     *
95     * @return the result value (which may be null) or null if the job is
96     *    not finished or failed.
97     */
98    public Object getResult();
99    
100   
101   /**
102    * Get the job failure exception.
103    *
104    * @return the exception with which the job failed, or null if the job is
105    *    not finished or did not fail.
106    */
107   public AsyncJobException getException();
108   
109   
110   /**
111    * Add an execution listener.
112    *
113    * @param listener listener to add
114    */
115   public void addAsyncJobListener(
116     AsyncJobListener listener);
117   
118   
119   /**
120    * Remove an execution listener.
121    *
122    * @param listener listener to remove
123    */
124   public void removeAsyncJobListener(
125     AsyncJobListener listener);
126 }