InputSpec.java
package net.bmahe.genetics4j.gp;
import java.util.List;
import java.util.Objects;
import org.immutables.value.Value;
import org.immutables.value.Value.Parameter;
@Value.Immutable
public abstract class InputSpec {
@SuppressWarnings("rawtypes")
@Parameter
public abstract List<Class> types();
public int inputSize() {
return types().size();
}
public static InputSpec of(final List<Class> types) {
Objects.requireNonNull(types);
return ImmutableInputSpec.of(types);
}
public static InputSpec of(final Class... types) {
Objects.requireNonNull(types);
return ImmutableInputSpec.of(List.of(types));
}
}