View Javadoc
1   package net.bmahe.genetics4j.gp;
2   
3   import java.util.List;
4   import java.util.Objects;
5   
6   import org.immutables.value.Value;
7   import org.immutables.value.Value.Parameter;
8   
9   @Value.Immutable
10  public abstract class InputSpec {
11  
12  	@SuppressWarnings("rawtypes")
13  	@Parameter
14  	public abstract List<Class> types();
15  
16  	public int inputSize() {
17  		return types().size();
18  	}
19  
20  	public static InputSpec of(final List<Class> types) {
21  		Objects.requireNonNull(types);
22  
23  		return ImmutableInputSpec.of(types);
24  	}
25  
26  	public static InputSpec of(final Class... types) {
27  		Objects.requireNonNull(types);
28  
29  		return ImmutableInputSpec.of(List.of(types));
30  	}
31  
32  }