MultiStageDescriptor.java
package net.bmahe.genetics4j.gpu.spec.fitness.multistage;
import java.util.List;
import java.util.Map;
import org.apache.commons.lang3.Validate;
import org.immutables.value.Value;
import net.bmahe.genetics4j.gpu.spec.fitness.cldata.StaticDataLoader;
@Value.Immutable
public interface MultiStageDescriptor {
Map<String, StaticDataLoader> staticDataLoaders();
List<StageDescriptor> stageDescriptors();
@Value.Check
default void check() {
Validate.notNull(stageDescriptors());
Validate.isTrue(stageDescriptors().size() > 0);
}
static ImmutableMultiStageDescriptor.Builder builder() {
return ImmutableMultiStageDescriptor.builder();
}
}