WaitTask.java
上传用户:qing5858
上传日期:2015-10-27
资源大小:6056k
文件大小:2k
源码类别:

搜索引擎

开发平台:

Java

  1. package net.javacoding.jspider.mockobjects;
  2. import net.javacoding.jspider.core.SpiderContext;
  3. import net.javacoding.jspider.core.task.work.BaseWorkerTaskImpl;
  4. import net.javacoding.jspider.core.task.WorkerTask;
  5. /**
  6.  * Mock implementation of a Worker task.  No real work is done, but there is
  7.  * simply done a wait for a certain amount of milliseconds.
  8.  *
  9.  * $Id: WaitTask.java,v 1.8 2003/04/10 16:19:25 vanrogu Exp $
  10.  *
  11.  * @author  G黱ther Van Roey
  12.  */
  13. public class WaitTask extends BaseWorkerTaskImpl {
  14.     /** the number of milliseconds to wait. */
  15.     protected int wait;
  16.     /** the number of milliseconds to wait during prepare method. */
  17.     protected int waitDuringPrepare;
  18.     /**
  19.      * Public constructor.
  20.      * @param context the spidercontext in user
  21.      * @param wait the number of milliseconds to wait
  22.      */
  23.     public WaitTask ( SpiderContext context, int wait ) {
  24.         this ( context, wait, 0);
  25.     }
  26.     /**
  27.      * Public constructor.
  28.      * @param context the spidercontext in user
  29.      * @param wait the number of milliseconds to wait
  30.      */
  31.     public WaitTask ( SpiderContext context, int wait, int waitDuringPrepare ) {
  32.         super(context, WorkerTask.WORKERTASK_THINKERTASK);
  33.         this.wait = wait;
  34.         this.waitDuringPrepare = waitDuringPrepare;
  35.     }
  36.     public void prepare() {
  37.         if ( waitDuringPrepare > 0 ) {
  38.             //System.out.println("Waiting in prepare() : " + waitDuringPrepare + " ms");
  39.             try {
  40.                 Thread.currentThread().wait(waitDuringPrepare);
  41.             } catch (InterruptedException e) {
  42.                 Thread.currentThread().interrupt();
  43.             }
  44.         }
  45.     }
  46.     /**
  47.      * Worker method implementation.  Will just wait the specified number
  48.      * of milliseconds, and then return.
  49.      */
  50.     public void execute() {
  51.         //System.out.println("Waiting in execute() : " + wait + " ms");
  52.         try {
  53.             Thread.currentThread().wait(wait);
  54.         } catch (InterruptedException e) {
  55.             Thread.currentThread().interrupt();
  56.         }
  57.     }
  58.     // overridden here to avoid NullPointerException when BaseImpl accesses Agent
  59.     public void tearDown() {
  60.     }
  61.     public int getType() {
  62.         return WorkerTask.WORKERTASK_THINKERTASK;
  63.     }
  64. }