package net.techreadiness.customer.datagrid; import java.util.Collection; import java.util.List; import net.techreadiness.service.ServiceContext; import net.techreadiness.service.common.DataGrid; import net.techreadiness.service.object.User; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Component; import com.google.common.collect.Lists; @Scope("prototype") @Component public class UsersByIdItemProviderImpl implements UsersByIdItemProvider { private Collection<User> selectedUsers; @Override public List<User> getPage(DataGrid<User> grid) { List<User> users = Lists.newArrayList(); for (User user : getUsers()) { users.add(user); } return users; } @Override public int getTotalNumberOfItems(DataGrid<User> grid) { return getUsers().size(); } @Override public void setUsers(Collection<User> users) { selectedUsers = users; } private Collection<User> getUsers() { if (selectedUsers == null || selectedUsers.isEmpty()) { throw new IllegalStateException("No users are selected."); } return selectedUsers; } @Override public void setServiceContext(ServiceContext serviceContext) { // No service context required } }