1 package net.bmahe.genetics4j.core.spec.selection;
2
3 import java.util.Arrays;
4 import java.util.List;
5
6 import org.immutables.value.Value;
7
8 @Value.Style(overshadowImplementation = true)
9 @Value.Immutable
10 public interface MultiTournaments<T extends Comparable<T>> extends SelectionPolicy {
11
12 @Value.Parameter
13 List<Tournament<T>> tournaments();
14
15 static <U extends Comparable<U>> MultiTournaments<U> of(final List<Tournament<U>> tournaments) {
16 return ImmutableMultiTournaments.of(tournaments);
17 }
18
19 @SafeVarargs
20 static <U extends Comparable<U>> MultiTournaments<U> of(final Tournament<U>... tournaments) {
21 return ImmutableMultiTournaments.of(Arrays.asList(tournaments));
22 }
23 }