Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package com.pubnub.api;
  
  import java.util.Iterator;
  import java.util.Vector;
  
  abstract class TimedTask {
      protected int interval;
      public abstract void run();
     TimedTask(int interval) {
         this.setInterval(interval);
     }
     public int getInterval() {
         return ;
     }
     public void setInterval(int interval) {
         this. = interval;
     }
 
 }
 
 class TimedTaskWorker implements Runnable{
 
     private TimedTask task;
     private Thread thread;
     protected volatile boolean _die;
     private String name;
     protected static Logger log = new Logger(Worker.class);
 
 
     public Thread getThread() {
         return ;
     }
 
     void setThread(Thread thread) {
         this. = thread;
     }
 
     void startWorker() {
         .start();
     }
 
     void interruptWorker() {
         .interrupt();
     }
     public TimedTask getTask() {
         return ;
     }
 
     public void setTask(TimedTask task) {
         this. = task;
     }
 
     public int getInterval() {
         return .getInterval();
     }
     public void setInterval(int interval) {
         this..setInterval(interval);
     }
 
     TimedTaskWorker(String nameTimedTask task) {
         this. = task;
         this. = name;
     }
 
     void die() {
          = true;
     }
 
     public void run() {
         do {
             .run();
             try {
                 Thread.sleep(.getInterval() * 1000);
             } catch (InterruptedException e) {
 
             }
         } while (!);
     }
 
 }
 
 
 public class TimedTaskManager {
 
     protected Vector _workers = new Vector();;
     private static int count = 0;
     private TimedTask voidTask = new TimedTask(1) {
         public void run() {}
     };
 
     protected static Logger log = new Logger(Worker.class);
 
     public TimedTaskManager(String name) {
 
     }
     private void interruptWorkers() {
         synchronized() {
             for (int i = 0; i < .size(); i++) {
                ((TimedTaskWorker).elementAt(i)).interruptWorker();
            }
        }
    }
    public int addTask(String nameTimedTask task) {
        TimedTaskWorker w = new TimedTaskWorker(nametask);
        w.setThread(new Thread(wname + "-" + ++));
        .add(w);
        .verbose("Starting new worker " + w.getThread().getName());
        w.startWorker();
        return w.hashCode();
    }
    public void removeTask(int hashCode) {
        synchronized() {
            for (int i = 0; i < .size(); i++) {
                TimedTaskWorker ttw = ((TimedTaskWorker).elementAt(i));
                if (ttw.hashCode() == hashCode) {
                    ttw.setTask();
                    ttw.die();
                    ttw.interruptWorker();
                    .remove(ttw);
                }
            }
        }
    }
    public void updateTask(int hashCodeTimedTask task) {
        synchronized() {
            for (int i = 0; i < .size(); i++) {
                TimedTaskWorker ttw = ((TimedTaskWorker).elementAt(i));
                if (ttw.hashCode() == hashCode) {
                    ttw.setTask(task);
                    ttw.interruptWorker();
                }
            }
        }
    }
    public void updateTask(int hashCodeint interval) {
        synchronized() {
            for (int i = 0; i < .size(); i++) {
                TimedTaskWorker ttw = ((TimedTaskWorker).elementAt(i));
                if (ttw.hashCode() == hashCode) {
                    ttw.getTask().setInterval(interval);
                    ttw.interruptWorker();
                }
            }
        }
    }
    public void stop() {
        synchronized() {
            for (int i = 0; i < .size(); i++) {
                TimedTaskWorker ttw = ((TimedTaskWorker).elementAt(i));
                ttw.setTask();
                ttw.die();
                ttw.interruptWorker();
                .remove(ttw);
            }
        }
    }
New to GrepCode? Check out our FAQ X