package org.infinispan.spring.provider.sample.dao; import org.infinispan.spring.provider.sample.entity.Book; /** * <p> * A simple, woefully incomplete {@code DAO} for storing, retrieving and removing {@link org.infinispan.spring.provider.sample.entity.Book * <code>Books</code>}. * </p> * * @author <a href="mailto:olaf DOT bergner AT gmx DOT de">Olaf Bergner</a> * @since 5.1 */ public interface BaseBookDao { /** * <p> * Look up and return the {@code Book} identified by the supplied {@code bookId}, or {@code null} * if no such book exists. * </p> * * @param bookId * @return The {@code Book} identified by the supplied {@code bookId}, or {@code null} */ Book findBook(Integer bookId); /** * <p> * Remove the {@code Book} identified by the supplied {@code bookId} from this store. * </p> * * @param bookId */ void deleteBook(Integer bookId); /** * <p> * Update provided {@code book} and return its updated version. * </p> * * @param book * The book to update * @return Updated book */ Book updateBook(Book book); /** * <p> * Create new book and return it. If the book already exists, throw exception. * </p> * * @param book The book to create * @return Created book. */ Book createBook(Book book); }