@Override public Iterable<Object> invokeFindAll(Pageable pageable) { return customFindAll ? invokeFindAllReflectively(pageable) : repository.findAll(pageable); }
@SuppressWarnings("unchecked") protected RepositoryInvoker createInvoker(RepositoryInformation information, Object repository) { if (repository instanceof PagingAndSortingRepository) { return new PagingAndSortingRepositoryInvoker((PagingAndSortingRepository<Object, Object>) repository, information, conversionService); } else if (repository instanceof CrudRepository) { return new CrudRepositoryInvoker((CrudRepository<Object, Object>) repository, information, conversionService); } else { return new ReflectionRepositoryInvoker(repository, information, conversionService); } } }
/** * Creates a new {@link PagingAndSortingRepositoryInvoker} using the given repository, {@link RepositoryMetadata} and * {@link ConversionService}. * * @param repository must not be {@literal null}. * @param metadata must not be {@literal null}. * @param conversionService must not be {@literal null}. */ public PagingAndSortingRepositoryInvoker(PagingAndSortingRepository<Object, Object> repository, RepositoryMetadata metadata, ConversionService conversionService) { super(repository, metadata, conversionService); CrudMethods crudMethods = metadata.getCrudMethods(); this.repository = repository; this.customFindAll = isRedeclaredMethod(crudMethods.getFindAllMethod()); }
@Override public Iterable<Object> invokeFindAll(Sort sort) { return customFindAll ? invokeFindAllReflectively(sort) : repository.findAll(sort); }