package org.molgenis.data.annotation.core.filter;
import com.google.common.base.Optional;
import com.google.common.collect.FluentIterable;
import org.molgenis.data.Entity;
import org.molgenis.data.MolgenisDataException;
import org.molgenis.data.annotation.core.entity.ResultFilter;
import org.molgenis.data.meta.model.Attribute;
import java.util.Collection;
import java.util.Collections;
/**
* ResultFilter that just returns the first result
*/
public class FirstResultFilter implements ResultFilter
{
@Override
public Collection<Attribute> getRequiredAttributes()
{
return Collections.emptyList();
}
@Override
public Optional<Entity> filterResults(Iterable<Entity> results, Entity annotatedEntity, boolean updateMode)
{
if (updateMode == true)
{
throw new MolgenisDataException("This annotator/filter does not support updating of values");
}
return FluentIterable.from(results).first();
}
}