package com.github.obourgain.elasticsearch.http.handler.document.multiget;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class Eithers<L, R> implements Iterable<Either<L, R>> {
private List<Either<L, R>> eithers = new ArrayList<>();
public List<L> lefts() {
List<L> result = new ArrayList<>();
for (Either<L, R> either : eithers) {
if(either.isLeft()) {
result.add(either.left());
}
}
return result;
}
public List<R> rights() {
List<R> result = new ArrayList<>();
for (Either<L, R> either : eithers) {
if(either.isRight()) {
result.add(either.right());
}
}
return result;
}
@Override
public Iterator<Either<L, R>> iterator() {
return eithers.iterator();
}
public void add(Either<L, R> either) {
eithers.add(either);
}
}