View Javadoc
1   package net.bmahe.genetics4j.core.spec.combination;
2   
3   import java.util.Arrays;
4   import java.util.List;
5   import java.util.Objects;
6   
7   import org.immutables.value.Value;
8   
9   @Value.Immutable
10  public abstract class MultiCombinations implements CombinationPolicy {
11  
12  	@Value.Parameter
13  	public abstract List<CombinationPolicy> combinationPolicies();
14  
15  	@Value.Check
16  	protected void check() {
17  		Objects.requireNonNull(combinationPolicies());
18  	}
19  
20  	public static MultiCombinations of(final List<CombinationPolicy> combinationPolicies) {
21  		return ImmutableMultiCombinations.of(combinationPolicies);
22  	}
23  
24  	public static MultiCombinations of(final CombinationPolicy... combinationPolicies) {
25  		return ImmutableMultiCombinations.of(Arrays.asList(combinationPolicies));
26  	}
27  }