package org.trianacode.gui.util.organize; /** * @author Andrew Harrison * @version 1.0.0 Nov 20, 2010 */ public class OrganizeThread implements Runnable { protected DagOrganizer process; protected boolean stop; /** * how long the relaxer thread pauses between iteration loops. */ protected long sleepTime = 50L; public OrganizeThread(DagOrganizer process) { this(process, 10L); } public OrganizeThread(DagOrganizer process, long sleepTime) { this.process = process; this.sleepTime = sleepTime; } public long getSleepTime() { return sleepTime; } public void setSleepTime(long sleepTime) { this.sleepTime = sleepTime; } public synchronized void stop() { stop = true; } public void run() { while (!process.done() && !stop) { process.step(); if (stop) return; try { Thread.sleep(sleepTime); } catch (InterruptedException ie) { } } } }