import com.google.common.base.Preconditions;
import java.util.Collection;
+import java.util.Collections;
+import java.util.Map;
/**
* The FirstCandidateSelectionStrategy always selects the first viable candidate from the list of candidates
*/
-public class FirstCandidateSelectionStrategy implements EntityOwnerSelectionStrategy {
+public class FirstCandidateSelectionStrategy extends AbstractEntityOwnerSelectionStrategy {
- public static final FirstCandidateSelectionStrategy INSTANCE = new FirstCandidateSelectionStrategy();
+ public static final FirstCandidateSelectionStrategy INSTANCE = new FirstCandidateSelectionStrategy(0L, Collections.emptyMap());
- @Override
- public long selectionDelayInMillis() {
- return 0;
+ public FirstCandidateSelectionStrategy(long selectionDelayInMillis, Map<String, Long> initialStatistics) {
+ super(selectionDelayInMillis, initialStatistics);
}
@Override
- public String newOwner(Collection<String> viableCandidates) {
+ public String newOwner(String currentOwner, Collection<String> viableCandidates) {
Preconditions.checkArgument(viableCandidates.size() > 0, "No viable candidates provided");
return viableCandidates.iterator().next();
}