KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jacorb > notification > engine > PullFromSupplierTask


1 package org.jacorb.notification.engine;
2
3 /*
4  * JacORB - a free Java ORB
5  *
6  * Copyright (C) 1999-2004 Gerald Brose
7  *
8  * This library is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU Library General Public
10  * License as published by the Free Software Foundation; either
11  * version 2 of the License, or (at your option) any later version.
12  *
13  * This library is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16  * Library General Public License for more details.
17  *
18  * You should have received a copy of the GNU Library General Public
19  * License along with this library; if not, write to the Free
20  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
21  *
22  */

23
24 import org.jacorb.notification.interfaces.MessageSupplier;
25 import org.omg.CosEventComm.Disconnected;
26
27 /**
28  * @author Alphonse Bendt
29  * @version $Id: PullFromSupplierTask.java,v 1.14 2005/04/27 10:48:40 alphonse.bendt Exp $
30  */

31
32 public class PullFromSupplierTask extends AbstractTask
33 {
34     private MessageSupplier target_;
35
36     ////////////////////////////////////////
37

38     PullFromSupplierTask(TaskExecutor executor) {
39         setTaskExecutor(executor);
40     }
41
42     ////////////////////////////////////////
43

44     public void setTarget( MessageSupplier target )
45     {
46         target_ = target;
47     }
48
49     public void doWork() throws Disconnected
50     {
51         target_.runPullMessage();
52
53         dispose();
54     }
55
56
57     public void reset()
58     {
59         target_ = null;
60     }
61
62
63     public void handleTaskError(AbstractTask task, Throwable JavaDoc error) {
64         if (error instanceof Disconnected) {
65             target_.destroy();
66         }
67     }
68
69
70     public void schedule() throws InterruptedException JavaDoc {
71         schedule(false);
72     }
73 }
74
Popular Tags