KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > drftpd > slave > async > AsyncCommand


1 /*
2  * AsyncCommand.java
3  *
4  * Created on May 20, 2004, 12:19 PM
5  */

6
7 package org.drftpd.slave.async;
8
9 import java.util.Hashtable JavaDoc;
10
11 /**
12  *
13  * @author jbarrett
14  */

15 public class AsyncCommand {
16     String JavaDoc _name;
17     String JavaDoc _args;
18     String JavaDoc _chan;
19     int _stat;
20     Hashtable JavaDoc _data = new Hashtable JavaDoc();
21     boolean _done = false;
22     AsyncSlave _ownr;
23     
24     public AsyncCommand(String JavaDoc chan, String JavaDoc name, String JavaDoc args, AsyncSlave ownr) {
25         _chan = chan;
26         _name = name;
27         _args = args;
28         _ownr = ownr;
29         _stat = -1;
30     }
31     public void abort()
32     {
33         _ownr.sendLine(_chan + " abrt");
34     }
35     public String JavaDoc getName() {
36         return _name;
37     }
38     public String JavaDoc getArgs() {
39         return _args;
40     }
41     public Hashtable JavaDoc getData() {
42         return _data;
43     }
44     public int getStatus() {
45         return _stat;
46     }
47     public void setStatus(int stat) {
48         finished();
49     }
50     public void finished() {
51         _ownr.releaseChan(_chan);
52         _done = true;
53     }
54     public void waitForComplete() {
55         while (!_done) {
56             try {
57                 Thread.sleep(100);
58             } catch (Exception JavaDoc e) {}
59         }
60     }
61 }
62
Popular Tags