java-org.hwo/src/org/hwo/thread/ThreadedOperation.java

71 lines
1.8 KiB
Java

package org.hwo.thread;
import java.util.ArrayList;
import java.util.EventListener;
import java.util.List;
public abstract class ThreadedOperation extends Thread{
List<ThreadedOperationUpdateListener> updateListeners;
private String operationName;
public ThreadedOperation()
{
updateListeners = new ArrayList<ThreadedOperationUpdateListener>();
operationName = "AktivitŠt...";
}
public void addThreadedOperationUpdateListener(ThreadedOperationUpdateListener listener)
{
updateListeners.add(listener);
}
public void removeThreadedOperationUpdateListener(ThreadedOperationUpdateListener listener)
{
updateListeners.remove(listener);
}
protected void fireUpdate(ThreadedOperationUpdateArgs updateArgs)
{
for (ThreadedOperationUpdateListener listener:updateListeners)
listener.threadedOperationUpdate(updateArgs);
}
protected void fireUpdate(Integer progressOperation,Integer progressStep)
{
fireUpdate(new ThreadedOperationUpdateArgs(progressOperation,progressStep));
}
protected void fireUpdate(Integer progressOperation,Integer progressStep,String statusText)
{
fireUpdate(new ThreadedOperationUpdateArgs(progressOperation,progressStep,statusText));
}
protected void fireUpdate(Integer progressOperation,Integer progressStep,String statusText,String stepLabel)
{
fireUpdate(new ThreadedOperationUpdateArgs(progressOperation,progressStep,statusText,stepLabel));
}
protected void fireFinished(int code)
{
for (ThreadedOperationUpdateListener listener:updateListeners)
listener.threadedOperationFinished(code);
}
protected void fireFinished()
{
fireFinished(0);
}
public abstract void run();
public String getOperationName() {
return operationName;
}
public void setOperationName(String operationName) {
this.operationName = operationName;
}
}