package jetbrains.mps.internal.make.runtime.script;
/*Generated by MPS */
import jetbrains.mps.make.script.IResult;
import java.util.Map;
import jetbrains.mps.make.facet.ITarget;
import jetbrains.mps.internal.collections.runtime.MapSequence;
import java.util.LinkedHashMap;
import jetbrains.mps.internal.collections.runtime.Sequence;
import jetbrains.mps.internal.collections.runtime.IWhereFilter;
import jetbrains.mps.make.resources.IResource;
public class CompositeResult implements IResult {
private Map<ITarget.Name, IResult> results = MapSequence.fromMap(new LinkedHashMap<ITarget.Name, IResult>(16, (float) 0.75, false));
public CompositeResult() {
}
public void addResult(ITarget.Name target, IResult res) {
MapSequence.fromMap(results).put(target, res);
}
public IResult getResult(ITarget.Name target) {
return MapSequence.fromMap(results).get(target);
}
@Override
public boolean isSucessful() {
return Sequence.fromIterable(MapSequence.fromMap(results).values()).all(new IWhereFilter<IResult>() {
public boolean accept(IResult r) {
return r.isSucessful();
}
});
}
@Override
public Iterable<IResource> output() {
if (MapSequence.fromMap(results).isEmpty()) {
return null;
}
return Sequence.fromIterable(MapSequence.fromMap(results).values()).last().output();
}
}