View Javadoc

1   /**
2    *
3    * Copyright 2006 The Apache Software Foundation
4    *
5    *  Licensed under the Apache License, Version 2.0 (the "License");
6    *  you may not use this file except in compliance with the License.
7    *  You may obtain a copy of the License at
8    *
9    *     http://www.apache.org/licenses/LICENSE-2.0
10   *
11   *  Unless required by applicable law or agreed to in writing, software
12   *  distributed under the License is distributed on an "AS IS" BASIS,
13   *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14   *  See the License for the specific language governing permissions and
15   *  limitations under the License.
16   */
17  
18  //
19  // This source code implements specifications defined by the BEA and IBM.
20  // For more information, see:
21  //    http://dev2dev.bea.com/technologies/commonj/index.jsp
22  // or
23  //    http://www.ibm.com/developerworks/library/j-commonj-sdowmt
24  //
25  // In order to remain compliant with the specification
26  // DO NOT add / change / or delete method signatures!
27  //
28  
29  package commonj.work;
30  
31  import java.util.Collection;
32  
33  /**
34   * @version $Rev: 46019 $ $Date: 2004-09-14 05:56:06 -0400 (Tue, 14 Sep 2004) $
35   */
36  public interface WorkManager {
37  
38      static final long IMMEDIATE = 0;
39      static final long INDEFINITE = java.lang.Long.MAX_VALUE;
40  
41      WorkItem schedule(Work work) throws WorkException, IllegalArgumentException;
42  
43      WorkItem schedule(Work work, WorkListener listener) throws WorkException, IllegalArgumentException;
44  
45      boolean waitForAll(Collection workItems, long timeout) 
46          throws InterruptedException, IllegalArgumentException;
47  
48      Collection waitForAny(Collection workItems, long timeout) 
49          throws InterruptedException, IllegalArgumentException;
50  
51  }