package ch.alv.components.service.mock; import ch.alv.components.core.beans.Identifiable; import ch.alv.components.core.search.ValuesProvider; import ch.alv.components.data.DataLayerException; import ch.alv.components.data.repository.PagingRepository; import ch.alv.components.data.repository.RepositoryHelper; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import java.util.Collection; import java.util.List; /** * Mock implementation of the {@link ch.alv.components.data.repository.Repository} interfce. * * @since 1.0.0 */ @SuppressWarnings("unchecked") public class MockPagingRepository<TYPE extends Identifiable<String>> implements PagingRepository<TYPE, String> { private MockRepository<TYPE> internalRepository = new MockRepository(); @Override public TYPE save(TYPE entity, Class<TYPE> entityClass) throws DataLayerException { return internalRepository.save(entity, entityClass); } @Override public List<TYPE> save(Collection<TYPE> entities, Class<TYPE> entityClass) throws DataLayerException { return internalRepository.save(entities, entityClass); } @Override public TYPE find(String id, Class<TYPE> entityClass) throws DataLayerException { return internalRepository.find(id, entityClass); } @Override public Page<TYPE> find(Pageable pageable, String searchName, ValuesProvider params, Class<TYPE> entityClass) throws DataLayerException { return RepositoryHelper.createPage(pageable, internalRepository.find(searchName, params, entityClass)) ; } @Override public Page<TYPE> find(Pageable pageable, Class<TYPE> entityClass) throws DataLayerException { return RepositoryHelper.createPage(pageable, internalRepository.find(entityClass)) ; } @Override public Page<TYPE> find(Pageable pageable, Collection<String> ids, Class<TYPE> entityClass) throws DataLayerException { return RepositoryHelper.createPage(pageable, internalRepository.find(ids, entityClass)) ; } @Override public void delete(String id, Class<TYPE> entityClass) throws DataLayerException { internalRepository.delete(id, entityClass); } @Override public void delete(Collection<String> ids, Class<TYPE> entityClass) throws DataLayerException { internalRepository.delete(ids, entityClass); } }