View Javadoc

1   /*--------------------------------------------------------------------------
2    *  Copyright 2007 utgenome.org
3    *
4    *  Licensed under the Apache License, Version 2.0 (the "License");
5    *  you may not use this file except in compliance with the License.
6    *  You may obtain a copy of the License at
7    *
8    *     http://www.apache.org/licenses/LICENSE-2.0
9    *
10   *  Unless required by applicable law or agreed to in writing, software
11   *  distributed under the License is distributed on an "AS IS" BASIS,
12   *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   *  See the License for the specific language governing permissions and
14   *  limitations under the License.
15   *--------------------------------------------------------------------------*/
16  //--------------------------------------
17  // UTGBMedaka Project
18  //
19  // WorkQueue.java
20  // Since: Aug 15, 2007
21  //
22  // $URL$ 
23  // $Author$
24  //--------------------------------------
25  package org.utgenome.gwt.utgb.client.util;
26  
27  import java.util.ArrayList;
28  
29  import com.google.gwt.user.client.Command;
30  import com.google.gwt.user.client.DeferredCommand;
31  
32  public class WorkQueue implements Command {
33  
34  	ArrayList<Worker> _workerQueue = new ArrayList<Worker>();
35  	
36  	public WorkQueue()
37  	{
38  		
39  	}
40  
41  	public void execute() {
42  		if(_workerQueue.isEmpty())
43  			return;
44  		
45  		DeferredCommand.addCommand(nextWorker());
46  		
47  	}
48  	
49  	public boolean hasNextWorker()
50  	{
51  		return !_workerQueue.isEmpty();
52  	}
53  	
54  	public Worker nextWorker()
55  	{
56  		if(!_workerQueue.isEmpty())
57  		{
58  			return _workerQueue.remove(0);
59  		}
60  		else 
61  			return null;
62  	}
63  	
64  	public void addWorker(Worker worker)
65  	{
66  		_workerQueue.add(worker);
67  	}
68  	
69  	
70  	
71  }
72  
73  
74  
75