package org.nextprot.api.user.service; import org.nextprot.api.commons.exception.ResourceNotFoundException; import org.nextprot.api.user.domain.UserProteinList; import java.util.List; public interface UserProteinListService { enum Operator { AND, OR, NOT_IN } List<UserProteinList> getUserProteinLists(String username); /** * Gets protein list with its items * * @param listId * @return */ UserProteinList getUserProteinListById(long listId) throws ResourceNotFoundException; /** * Gets meta information from the list * much more peformant than {@link #getUserProteinListById(long)} because the accessions are not ser * * @return */ UserProteinList getUserProteinListByNameForUser(String username, String listName); UserProteinList createUserProteinList(UserProteinList proteinList); void updateUserProteinList(UserProteinList proteinList); void deleteUserProteinList(UserProteinList proteinList); UserProteinList combine(String name, String description, String username, String listName1, String listName2, Operator operator); UserProteinList getUserProteinListByPublicId(String listId); }