/** * Builds the {@link RepositoryItemWriter}. * * @return a {@link RepositoryItemWriter} */ public RepositoryItemWriter<T> build() { if (this.repositoryMethodReference != null) { this.methodName = this.repositoryMethodReference.getMethodName(); this.repository = this.repositoryMethodReference.getRepository(); } Assert.hasText(this.methodName, "methodName is required."); Assert.notNull(this.repository, "repository is required."); RepositoryItemWriter<T> writer = new RepositoryItemWriter<>(); writer.setMethodName(this.methodName); writer.setRepository(this.repository); return writer; }
/** * Builds the {@link RepositoryItemWriter}. * * @return a {@link RepositoryItemWriter} */ public RepositoryItemWriter<T> build() { if (this.repositoryMethodReference != null) { this.methodName = this.repositoryMethodReference.getMethodName(); this.repository = this.repositoryMethodReference.getRepository(); } Assert.hasText(this.methodName, "methodName is required."); Assert.notNull(this.repository, "repository is required."); RepositoryItemWriter<T> writer = new RepositoryItemWriter<>(); writer.setMethodName(this.methodName); writer.setRepository(this.repository); return writer; }
@Test public void testWriteItemsTestRepositoryMethodIs() throws Exception { RepositoryItemWriterBuilder.RepositoryMethodReference<TestRepository> repositoryMethodReference = new RepositoryItemWriterBuilder.RepositoryMethodReference<>( this.repository); repositoryMethodReference.methodIs().foo(null); RepositoryItemWriter<String> writer = new RepositoryItemWriterBuilder<String>() .methodName("foo") .repository(repositoryMethodReference) .build(); List<String> items = Collections.singletonList("foo"); writer.write(items); verify(this.repository).foo("foo"); }