From 3047073b528402df034f421dde92e33898745274 Mon Sep 17 00:00:00 2001 From: John Blum Date: Wed, 12 Jun 2019 18:19:55 -0700 Subject: [PATCH] Edit Javadoc. Apply Spring @NonNull & @Nullable annotations to the API. --- .../cache/InlineCachingRegionConfigurer.java | 4 +- ...RepositoryCacheLoaderRegionConfigurer.java | 22 +++--- ...RepositoryCacheWriterRegionConfigurer.java | 68 +++++++++++++++---- .../RepositoryCacheLoaderWriterSupport.java | 2 +- 4 files changed, 68 insertions(+), 28 deletions(-) diff --git a/spring-geode/src/main/java/org/springframework/geode/cache/InlineCachingRegionConfigurer.java b/spring-geode/src/main/java/org/springframework/geode/cache/InlineCachingRegionConfigurer.java index 426cdcca..b0f4f312 100644 --- a/spring-geode/src/main/java/org/springframework/geode/cache/InlineCachingRegionConfigurer.java +++ b/spring-geode/src/main/java/org/springframework/geode/cache/InlineCachingRegionConfigurer.java @@ -98,7 +98,7 @@ public class InlineCachingRegionConfigurer implements RegionConfigurer { * @see java.util.function.Predicate */ protected RepositoryCacheLoaderRegionConfigurer newRepositoryCacheLoaderRegionConfigurer( - CrudRepository repository, Predicate regionBeanName) { + @NonNull CrudRepository repository, @Nullable Predicate regionBeanName) { return new RepositoryCacheLoaderRegionConfigurer<>(repository, regionBeanName); } @@ -117,7 +117,7 @@ public class InlineCachingRegionConfigurer implements RegionConfigurer { * @see java.util.function.Predicate */ protected RepositoryCacheWriterRegionConfigurer newRepositoryCacheWriterRegionConfigurer( - CrudRepository repository, Predicate regionBeanName) { + @NonNull CrudRepository repository, @Nullable Predicate regionBeanName) { return new RepositoryCacheWriterRegionConfigurer<>(repository, regionBeanName); } diff --git a/spring-geode/src/main/java/org/springframework/geode/cache/RepositoryCacheLoaderRegionConfigurer.java b/spring-geode/src/main/java/org/springframework/geode/cache/RepositoryCacheLoaderRegionConfigurer.java index d8acceed..2143d549 100644 --- a/spring-geode/src/main/java/org/springframework/geode/cache/RepositoryCacheLoaderRegionConfigurer.java +++ b/spring-geode/src/main/java/org/springframework/geode/cache/RepositoryCacheLoaderRegionConfigurer.java @@ -24,6 +24,8 @@ import org.springframework.data.gemfire.PeerRegionFactoryBean; import org.springframework.data.gemfire.client.ClientRegionFactoryBean; import org.springframework.data.gemfire.config.annotation.RegionConfigurer; import org.springframework.data.repository.CrudRepository; +import org.springframework.lang.NonNull; +import org.springframework.lang.Nullable; import org.springframework.util.Assert; /** @@ -61,8 +63,8 @@ public class RepositoryCacheLoaderRegionConfigurer implements RegionConfi * @see java.util.function.Predicate * @see #RepositoryCacheLoaderRegionConfigurer(CrudRepository, Predicate) */ - public static RepositoryCacheLoaderRegionConfigurer create(CrudRepository repository, - Predicate regionBeanName) { + public static RepositoryCacheLoaderRegionConfigurer create(@NonNull CrudRepository repository, + @Nullable Predicate regionBeanName) { return new RepositoryCacheLoaderRegionConfigurer<>(repository, regionBeanName); } @@ -84,8 +86,8 @@ public class RepositoryCacheLoaderRegionConfigurer implements RegionConfi * @see java.lang.String * @see #create(CrudRepository, Predicate) */ - public static RepositoryCacheLoaderRegionConfigurer create(CrudRepository repository, - String regionBeanName) { + public static RepositoryCacheLoaderRegionConfigurer create(@NonNull CrudRepository repository, + @Nullable String regionBeanName) { return create(repository, Predicate.isEqual(regionBeanName)); } @@ -107,15 +109,13 @@ public class RepositoryCacheLoaderRegionConfigurer implements RegionConfi * @see org.springframework.data.repository.CrudRepository * @see java.util.function.Predicate */ - public RepositoryCacheLoaderRegionConfigurer(CrudRepository repository, Predicate regionBeanName) { + public RepositoryCacheLoaderRegionConfigurer(@NonNull CrudRepository repository, + @Nullable Predicate regionBeanName) { Assert.notNull(repository, "CrudRepository is required"); this.repository = repository; - - this.regionBeanName = regionBeanName != null - ? regionBeanName - : beanName -> false; + this.regionBeanName = regionBeanName != null ? regionBeanName : beanName -> false; } /** @@ -126,7 +126,7 @@ public class RepositoryCacheLoaderRegionConfigurer implements RegionConfi * targeted for the {@link CacheLoader} registration. * @see java.util.function.Predicate */ - protected Predicate getRegionBeanName() { + protected @NonNull Predicate getRegionBeanName() { return this.regionBeanName; } @@ -137,7 +137,7 @@ public class RepositoryCacheLoaderRegionConfigurer implements RegionConfi * @return the configured {@link CrudRepository} used to load {@link Region} values on cache misses. * @see org.springframework.data.repository.CrudRepository */ - protected CrudRepository getRepository() { + protected @NonNull CrudRepository getRepository() { return this.repository; } diff --git a/spring-geode/src/main/java/org/springframework/geode/cache/RepositoryCacheWriterRegionConfigurer.java b/spring-geode/src/main/java/org/springframework/geode/cache/RepositoryCacheWriterRegionConfigurer.java index 5e12a43b..9545ba37 100644 --- a/spring-geode/src/main/java/org/springframework/geode/cache/RepositoryCacheWriterRegionConfigurer.java +++ b/spring-geode/src/main/java/org/springframework/geode/cache/RepositoryCacheWriterRegionConfigurer.java @@ -24,26 +24,68 @@ import org.springframework.data.gemfire.PeerRegionFactoryBean; import org.springframework.data.gemfire.client.ClientRegionFactoryBean; import org.springframework.data.gemfire.config.annotation.RegionConfigurer; import org.springframework.data.repository.CrudRepository; +import org.springframework.lang.NonNull; +import org.springframework.lang.Nullable; import org.springframework.util.Assert; /** - * The RepositoryCacheWriterRegionConfigurer class... + * Spring Data {@link RegionConfigurer} implementation used to adapt and register a Spring Data {@link CrudRepository} + * as a {@link CacheWriter} for a targeted {@link Region}. * * @author John Blum - * @since 1.0.0 + * @param {@link Class type} of the persistent entity. + * @param {@link Class type} of the persistent entity identifier (ID). + * @see java.util.function.Predicate + * @see org.apache.geode.cache.CacheWriter + * @see org.apache.geode.cache.Region + * @see org.springframework.data.gemfire.PeerRegionFactoryBean + * @see org.springframework.data.gemfire.client.ClientRegionFactoryBean + * @see org.springframework.data.gemfire.config.annotation.RegionConfigurer + * @see org.springframework.data.repository.CrudRepository + * @since 1.1.0 */ public class RepositoryCacheWriterRegionConfigurer implements RegionConfigurer { - public static RepositoryCacheWriterRegionConfigurer create(CrudRepository repository, - Predicate regionBeanName) { + /** + * Factory method used to construct a new instance of {@link RepositoryCacheWriterRegionConfigurer} initialized with + * the given Spring Data {@link CrudRepository} used to write {@link Region} values to a backend data source + * /data store along with a given {@link Predicate} to identify/qualify the {@link Region} on which + * the {@link CrudRepository} will be registered and used as a {@link CacheWriter}. + * + * @param repository {@link CrudRepository} used to write {@link Region} values to a backend data source. + * @param regionBeanName {@link Predicate} used to identify/qualify the {@link Region} on which + * the {@link CrudRepository} will be registered and used as a {@link CacheWriter}. + * @return a new instance of {@link RepositoryCacheWriterRegionConfigurer}. + * @throws IllegalArgumentException if {@link CrudRepository} is {@literal null}. + * @see org.springframework.data.repository.CrudRepository + * @see java.util.function.Predicate + * @see #RepositoryCacheWriterRegionConfigurer(CrudRepository, Predicate) + */ + public static RepositoryCacheWriterRegionConfigurer create(@NonNull CrudRepository repository, + @Nullable Predicate regionBeanName) { return new RepositoryCacheWriterRegionConfigurer<>(repository, regionBeanName); } - public static RepositoryCacheWriterRegionConfigurer create(CrudRepository repository, - String regionBeanName) { + /** + * Factory method used to construct a new instance of {@link RepositoryCacheWriterRegionConfigurer} initialized with + * the given Spring Data {@link CrudRepository} used to write {@link Region} values to a backend data source + * /data store along with a given {@link Predicate} to identify/qualify the {@link Region} on which + * the {@link CrudRepository} will be registered and used as a {@link CacheWriter}. + * + * @param repository {@link CrudRepository} used to write {@link Region} values to a backend data source. + * @param regionBeanName {@link String} containing the bean name identifying/qualifying the {@link Region} + * on which the {@link CrudRepository} will be registered and used as a {@link CacheWriter}. + * @return a new instance of {@link RepositoryCacheWriterRegionConfigurer}. + * @throws IllegalArgumentException if {@link CrudRepository} is {@literal null}. + * @see org.springframework.data.repository.CrudRepository + * @see java.lang.String + * @see #create(CrudRepository, Predicate) + */ + public static RepositoryCacheWriterRegionConfigurer create(@NonNull CrudRepository repository, + @Nullable String regionBeanName) { - return new RepositoryCacheWriterRegionConfigurer<>(repository, Predicate.isEqual(regionBeanName)); + return create(repository, Predicate.isEqual(regionBeanName)); } private final CrudRepository repository; @@ -63,15 +105,13 @@ public class RepositoryCacheWriterRegionConfigurer implements RegionConfi * @see org.springframework.data.repository.CrudRepository * @see java.util.function.Predicate */ - public RepositoryCacheWriterRegionConfigurer(CrudRepository repository, Predicate regionBeanName) { + public RepositoryCacheWriterRegionConfigurer(@NonNull CrudRepository repository, + @Nullable Predicate regionBeanName) { Assert.notNull(repository, "CrudRepository is required"); this.repository = repository; - - this.regionBeanName = regionBeanName != null - ? regionBeanName - : beanName -> false; + this.regionBeanName = regionBeanName != null ? regionBeanName : beanName -> false; } /** @@ -82,7 +122,7 @@ public class RepositoryCacheWriterRegionConfigurer implements RegionConfi * targeted for the {@link CacheWriter} registration. * @see java.util.function.Predicate */ - protected Predicate getRegionBeanName() { + protected @NonNull Predicate getRegionBeanName() { return regionBeanName; } @@ -93,7 +133,7 @@ public class RepositoryCacheWriterRegionConfigurer implements RegionConfi * @return the configured {@link CrudRepository} used to write {@link Region} values to a backend data source. * @see org.springframework.data.repository.CrudRepository */ - protected CrudRepository getRepository() { + protected @NonNull CrudRepository getRepository() { return this.repository; } diff --git a/spring-geode/src/main/java/org/springframework/geode/cache/support/RepositoryCacheLoaderWriterSupport.java b/spring-geode/src/main/java/org/springframework/geode/cache/support/RepositoryCacheLoaderWriterSupport.java index 21c565fc..5d5f49d3 100644 --- a/spring-geode/src/main/java/org/springframework/geode/cache/support/RepositoryCacheLoaderWriterSupport.java +++ b/spring-geode/src/main/java/org/springframework/geode/cache/support/RepositoryCacheLoaderWriterSupport.java @@ -59,7 +59,7 @@ public abstract class RepositoryCacheLoaderWriterSupport private Environment environment; - protected RepositoryCacheLoaderWriterSupport(CrudRepository repository) { + protected RepositoryCacheLoaderWriterSupport(@NonNull CrudRepository repository) { Assert.notNull(repository, "Repository is required");