package org.netbeans.gradle.project.tasks;
import org.jtrim.cancel.CancellationToken;
import org.jtrim.utils.ExceptionHelper;
public final class DaemonTaskDef {
private final String caption;
private final boolean nonBlocking;
private final DaemonTask task;
public DaemonTaskDef(String caption, boolean nonBlocking, DaemonTask task) {
ExceptionHelper.checkNotNullArgument(caption, "caption");
ExceptionHelper.checkNotNullArgument(task, "task");
this.caption = caption;
this.nonBlocking = nonBlocking;
this.task = task;
}
public String getCaption() {
return caption;
}
public boolean isNonBlocking() {
return nonBlocking;
}
public DaemonTask getTask() {
return task;
}
public DaemonTaskDefFactory toFactory() {
return new ConstFactory(this);
}
private static class ConstFactory implements DaemonTaskDefFactory {
private final DaemonTaskDef taskDef;
public ConstFactory(DaemonTaskDef taskDef) {
this.taskDef = taskDef;
}
@Override
public String getDisplayName() {
return taskDef.getCaption();
}
@Override
public DaemonTaskDef tryCreateTaskDef(CancellationToken cancelToken) {
return taskDef;
}
}
}