blob: 50399f74baab58ae5a367e003ec59f1c6b9598ba [file] [log] [blame]
package org.jetbrains.jps.incremental.messages;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.util.NotNullFunction;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.jps.builders.BuildTarget;
import java.util.Collection;
/**
* @author nik
*/
public class BuildingTargetProgressMessage extends BuildMessage {
private final Collection<? extends BuildTarget<?>> myTargets;
@NotNull private final Event myEventType;
public enum Event {
STARTED, FINISHED
}
public BuildingTargetProgressMessage(@NotNull Collection<? extends BuildTarget<?>> targets, @NotNull Event event) {
super(composeMessageText(targets, event), Kind.PROGRESS);
myTargets = targets;
myEventType = event;
}
private static String composeMessageText(Collection<? extends BuildTarget<?>> targets, Event event) {
String targetsString = StringUtil.join(targets, new NotNullFunction<BuildTarget<?>, String>() {
@NotNull
@Override
public String fun(BuildTarget<?> dom) {
return dom.getPresentableName();
}
}, ", ");
return (event == Event.STARTED ? "Started" : "Finished") + " building " + targetsString;
}
@NotNull
public Collection<? extends BuildTarget<?>> getTargets() {
return myTargets;
}
@NotNull
public Event getEventType() {
return myEventType;
}
}