Annotate configuration methods and parameters with Spring's @NonNull and @Nullable annotations to make the contract of the methods apparent.

Edit Javadoc.
This commit is contained in:
John Blum
2018-11-21 16:56:27 -08:00
parent 4608cd92b4
commit fd651f03a6

View File

@@ -60,6 +60,8 @@ import org.springframework.data.gemfire.IndexType;
import org.springframework.data.gemfire.RegionAttributesFactoryBean;
import org.springframework.data.gemfire.config.xml.GemfireConstants;
import org.springframework.data.gemfire.util.ArrayUtils;
import org.springframework.lang.NonNull;
import org.springframework.lang.Nullable;
import org.springframework.session.Session;
import org.springframework.session.SessionRepository;
import org.springframework.session.data.gemfire.AbstractGemFireOperationsSessionRepository.GemFireSession;
@@ -137,7 +139,7 @@ public class GemFireHttpSessionConfiguration extends AbstractGemFireHttpSessionC
public static final RegionShortcut DEFAULT_SERVER_REGION_SHORTCUT = RegionShortcut.PARTITION;
/**
* {@link SpringSessionGemFireConfigurer} {@link Class} {@link Method} {@link String Names}
* {@link SpringSessionGemFireConfigurer} {@link Class Interface} {@link Method} {@link String Names}
*/
public static final String CONFIGURER_GET_CLIENT_REGION_SHORTCUT_METHOD_NAME =
findByMethodName(SpringSessionGemFireConfigurer.class, "getClientRegionShortcut");
@@ -199,7 +201,7 @@ public class GemFireHttpSessionConfiguration extends AbstractGemFireHttpSessionC
private String[] indexableSessionAttributes = DEFAULT_INDEXABLE_SESSION_ATTRIBUTES;
private static String findByMethodName(Class<?> type, String methodName) {
private static String findByMethodName(@NonNull Class<?> type, @NonNull String methodName) {
return Arrays.stream(type.getDeclaredMethods())
.map(Method::getName)
@@ -209,7 +211,7 @@ public class GemFireHttpSessionConfiguration extends AbstractGemFireHttpSessionC
methodName, type.getName()));
}
private static Optional<String> safeFindByMethodName(Class<?> type, String methodName) {
private static Optional<String> safeFindByMethodName(@NonNull Class<?> type, @NonNull String methodName) {
try {
return Optional.of(findByMethodName(type, methodName));
@@ -219,7 +221,7 @@ public class GemFireHttpSessionConfiguration extends AbstractGemFireHttpSessionC
}
}
private static boolean isOverriddenMethodPresent(Object target, String methodName) {
private static boolean isOverriddenMethodPresent(@Nullable Object target, @Nullable String methodName) {
return Optional.ofNullable(target)
.map(Object::getClass)
@@ -501,8 +503,8 @@ public class GemFireHttpSessionConfiguration extends AbstractGemFireHttpSessionC
}
private <T> SpringSessionGemFireConfigurer applySpringSessionGemFireConfigurerConfiguration(
SpringSessionGemFireConfigurer configurer, String methodName,
Function<SpringSessionGemFireConfigurer, T> getter, Consumer<T> setter) {
@Nullable SpringSessionGemFireConfigurer configurer, @NonNull String methodName,
@NonNull Function<SpringSessionGemFireConfigurer, T> getter, @NonNull Consumer<T> setter) {
Optional.ofNullable(configurer)
.filter(it -> isOverriddenMethodPresent(configurer, methodName))