// PostService.java // package de.ppi.samples.fuwesta.service.api; import java.util.List; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Sort.Order; import de.ppi.samples.fuwesta.model.Post; import de.ppi.samples.fuwesta.model.User; /** * Service that handles work which must be done for user. * * @author niels * */ public interface UserService { /** * Deliver all existing users. * * * @return all existing users. */ Page<User> getAllUser(); /** * Deliver a page of users. * * @param skip the number of entries which should be skipped * @param count the number of entries a page should have. * @param order information about the ordering of the entries. * @return the page of users. */ Page<User> getUser(int skip, int count, Order... order); /** * Deliver a page of users. * * @param page information about pagination. * @return the page of users. */ Page<User> getUser(Pageable page); /** * Save the given user. * * @param user the user object. * @return the user object which may changed. * */ User save(User user); /** * Read the user. * * @param userId the ID of the user object. * @return the user object. * */ User read(Long userId); /** * Delete the user. * * @param userId the ID of the user object. * */ void delete(Long userId); /** * Return the number of users. * * @return number of users. */ long getNrOfUsers(); /** * Return possible Postings in key-value form. * * @return Map with select options */ List<Post> getPostingSelectOptions(); }