KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > core > execution > ExecutorTaskImpl


1 /*
2  * The contents of this file are subject to the terms of the Common Development
3  * and Distribution License (the License). You may not use this file except in
4  * compliance with the License.
5  *
6  * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
7  * or http://www.netbeans.org/cddl.txt.
8  *
9  * When distributing Covered Code, include this CDDL Header Notice in each file
10  * and include the License file at http://www.netbeans.org/cddl.txt.
11  * If applicable, add the following below the CDDL Header, with the fields
12  * enclosed by brackets [] replaced by your own identifying information:
13  * "Portions Copyrighted [year] [name of copyright owner]"
14  *
15  * The Original Software is NetBeans. The Initial Developer of the Original
16  * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
17  * Microsystems, Inc. All Rights Reserved.
18  */

19
20 package org.netbeans.core.execution;
21
22 import org.openide.execution.ExecutorTask;
23 import org.openide.windows.InputOutput;
24
25 /** Purpose ???
26 *
27 * @author Ales Novak
28 * @version 1.0, November 18, 1998
29 */

30 final class ExecutorTaskImpl extends ExecutorTask {
31     /** result */
32     int result = -1;
33     /** SysProcess ref */
34     DefaultSysProcess proc;
35     /** lock */
36     Object JavaDoc lock = this;
37
38     /** constructor */
39     ExecutorTaskImpl() {
40         super(new Runnable JavaDoc() {
41                   public void run() {}
42               }
43              );
44     }
45
46     /** Stops the task. */
47     public void stop() {
48         try {
49             synchronized (lock) {
50                 while (proc == null) lock.wait();
51                 proc.stop();
52             }
53         } catch (InterruptedException JavaDoc e) {
54         }
55     }
56     /** @return result 0 means success. Blocking operation. */
57     public int result() {
58         waitFinished();
59         return result;
60     }
61     // hack off
62
final void finished() {
63         notifyFinished();
64     }
65     public void run() {
66         waitFinished();
67     }
68
69     public InputOutput getInputOutput() {
70         return proc.getInputOutput();
71     }
72 }
73
Popular Tags