de.intarsys.tools.concurrent.TaskStep Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of isrt Show documentation
Show all versions of isrt Show documentation
The basic runtime tools and interfaces for intarsys components.
/*
* intarsys consulting GmbH
* all rights reserved
*
*/
package de.intarsys.tools.concurrent;
import de.intarsys.tools.event.Event;
import de.intarsys.tools.event.INotificationListener;
/**
* experimental
*/
public class TaskStep extends AbstractFutureTask {
final private TaskSequence sequence;
final private Runnable task;
final private int percent;
private INotificationListener listenSubTask = new INotificationListener() {
public void handleEvent(Event event) {
onSubTaskChanged(event.getSource());
}
};
private int start;
public TaskStep(TaskSequence sequence, Runnable task, int percent) {
super();
this.sequence = sequence;
this.task = task;
this.percent = percent;
// task.addNotificationListener(AttributeChangedEvent.ID,
// listenSubTask);
}
@Override
protected R compute() throws Exception {
// start = sequence.getWorkCurrent();
task.run();
return null;
// return task.get();
}
public int getPercent() {
return percent;
}
public TaskSequence getSequence() {
return sequence;
}
protected void onSubTaskChanged(Object task) {
// int taskPart = (int) (task.getProgress() * ((float) getPercent() /
// 100));
// sequence.setWorkCurrent(task.getWorkMessage(), start + taskPart);
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy