package org.activityinfo.legacy.shared.adapter;
import com.extjs.gxt.ui.client.data.ModelData;
import com.google.common.base.Function;
import org.activityinfo.legacy.shared.command.result.ListResult;
/**
* Extracts a unique result from a ListResult object.
*/
public class SingleListResultAdapter<T extends ModelData> implements Function<ListResult<T>, T> {
@Override
public T apply(ListResult<T> input) {
if (input.getData().size() != 1) {
throw new IllegalStateException("Expected single result, got size=" + input.getData().size());
}
return input.getData().get(0);
}
}