package jetbrains.mps.make.generator;
/*Generated by MPS */
import jetbrains.mps.make.facet.IFacet;
import java.util.List;
import jetbrains.mps.make.facet.ITarget;
import jetbrains.mps.internal.collections.runtime.ListSequence;
import java.util.ArrayList;
import jetbrains.mps.internal.collections.runtime.Sequence;
import jetbrains.mps.make.resources.IPropertiesPersistence;
import jetbrains.mps.make.facet.ITargetEx;
import jetbrains.mps.make.script.IJob;
import jetbrains.mps.make.script.IResult;
import jetbrains.mps.make.resources.IResource;
import jetbrains.mps.make.script.IJobMonitor;
import jetbrains.mps.make.resources.IPropertiesAccessor;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.mps.openapi.util.ProgressMonitor;
import java.util.stream.IntStream;
import jetbrains.mps.make.script.IConfig;
import java.util.Map;
import jetbrains.mps.make.script.IPropertiesPool;
public class Worker__Facet extends IFacet.Stub {
private List<ITarget> targets = ListSequence.fromList(new ArrayList<ITarget>());
private IFacet.Name name = new IFacet.Name("jetbrains.mps.make.tests.Worker_");
public Worker__Facet() {
ListSequence.fromList(targets).addElement(new Worker__Facet.Target_work());
}
public Iterable<ITarget> targets() {
return targets;
}
public Iterable<IFacet.Name> optional() {
return null;
}
public Iterable<IFacet.Name> required() {
return Sequence.fromArray(new IFacet.Name[]{new IFacet.Name("jetbrains.mps.make.tests.Maker_")});
}
public Iterable<IFacet.Name> extended() {
return null;
}
public IFacet.Name getName() {
return this.name;
}
public IPropertiesPersistence propertiesPersistence() {
return new Worker__Facet.TargetProperties();
}
public static class Target_work implements ITargetEx {
private static final ITarget.Name name = new ITarget.Name("jetbrains.mps.make.tests.Worker_.work");
public Target_work() {
}
public IJob createJob() {
return new IJob.Stub() {
@Override
public IResult execute(final Iterable<IResource> rawInput, final IJobMonitor monitor, final IPropertiesAccessor pa, @NotNull final ProgressMonitor progressMonitor) {
Iterable<IResource> _output_qdke9s_a0a = null;
final Iterable<IResource> input = (Iterable) (Iterable) rawInput;
progressMonitor.start("", IntStream.of(1000, 1000 / 2).sum());
switch (0) {
case 0:
final ProgressMonitor subProgress_a0a0a = progressMonitor.subTask(1000);
subProgress_a0a0a.start("WORK", 100);
subProgress_a0a0a.advance(50);
final ProgressMonitor subProgress_c0a0a = progressMonitor.subTask(1000 / 2);
subProgress_c0a0a.start("WORKWORK", 10);
subProgress_c0a0a.advance(5);
subProgress_c0a0a.advance(5);
subProgress_c0a0a.done();
subProgress_a0a0a.done();
default:
progressMonitor.done();
return new IResult.SUCCESS(_output_qdke9s_a0a);
}
}
};
}
public IConfig createConfig() {
return null;
}
public Iterable<ITarget.Name> notAfter() {
return null;
}
public Iterable<ITarget.Name> after() {
return null;
}
public Iterable<ITarget.Name> notBefore() {
return null;
}
public Iterable<ITarget.Name> before() {
return Sequence.fromArray(new ITarget.Name[]{new ITarget.Name("jetbrains.mps.make.tests.Maker_.Make")});
}
public ITarget.Name getName() {
return name;
}
public boolean isOptional() {
return false;
}
public boolean requiresInput() {
return false;
}
public boolean producesOutput() {
return false;
}
public Iterable<Class<? extends IResource>> expectedInput() {
List<Class<? extends IResource>> rv = ListSequence.fromList(new ArrayList<Class<? extends IResource>>());
return rv;
}
public Iterable<Class<? extends IResource>> expectedOutput() {
return null;
}
public <T> T createParameters(Class<T> cls) {
return null;
}
public <T> T createParameters(Class<T> cls, T copyFrom) {
T t = createParameters(cls);
return t;
}
}
public static class TargetProperties implements IPropertiesPersistence {
public TargetProperties() {
}
public void storeValues(Map<String, String> store, IPropertiesPool properties) {
}
public void loadValues(Map<String, String> store, IPropertiesPool properties) {
try {
} catch (RuntimeException re) {
}
}
}
}