View Javadoc
1   package net.bmahe.genetics4j.core.spec.selection;
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 MultiSelections implements SelectionPolicy {
11  
12  	@Value.Parameter
13  	public abstract List<SelectionPolicy> selectionPolicies();
14  
15  	@Value.Check
16  	protected void check() {
17  		Objects.requireNonNull(selectionPolicies());
18  	}
19  
20  	public static MultiSelections of(final List<SelectionPolicy> selectionPolicies) {
21  		return ImmutableMultiSelections.of(selectionPolicies);
22  	}
23  
24  	public static MultiSelections of(final SelectionPolicy... selectionPolicies) {
25  		return ImmutableMultiSelections.of(Arrays.asList(selectionPolicies));
26  	}
27  }