Upgrade nullability plugin to 0.0.4
This commit also includes related refinements of JdbcTemplate#getSingleColumnRowMapper and ObjectUtils#addObjectToArray. Closes gh-35340
This commit is contained in:
parent
5d325ca0fc
commit
7a2a167f34
|
|
@ -6,7 +6,7 @@ plugins {
|
||||||
id 'com.github.bjornvester.xjc' version '1.8.2' apply false
|
id 'com.github.bjornvester.xjc' version '1.8.2' apply false
|
||||||
id 'io.github.goooler.shadow' version '8.1.8' apply false
|
id 'io.github.goooler.shadow' version '8.1.8' apply false
|
||||||
id 'me.champeau.jmh' version '0.7.2' apply false
|
id 'me.champeau.jmh' version '0.7.2' apply false
|
||||||
id "io.spring.nullability" version "0.0.1" apply false
|
id 'io.spring.nullability' version '0.0.4' apply false
|
||||||
}
|
}
|
||||||
|
|
||||||
ext {
|
ext {
|
||||||
|
|
|
||||||
|
|
@ -255,7 +255,7 @@ public abstract class ObjectUtils {
|
||||||
* @param obj the object to append
|
* @param obj the object to append
|
||||||
* @return the new array (of the same component type; never {@code null})
|
* @return the new array (of the same component type; never {@code null})
|
||||||
*/
|
*/
|
||||||
public static <A, O extends A> A[] addObjectToArray(A @Nullable [] array, @Nullable O obj) {
|
public static <A, O extends A> A[] addObjectToArray(A @Nullable [] array, O obj) {
|
||||||
return addObjectToArray(array, obj, (array != null ? array.length : 0));
|
return addObjectToArray(array, obj, (array != null ? array.length : 0));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -268,17 +268,18 @@ public abstract class ObjectUtils {
|
||||||
* @return the new array (of the same component type; never {@code null})
|
* @return the new array (of the same component type; never {@code null})
|
||||||
* @since 6.0
|
* @since 6.0
|
||||||
*/
|
*/
|
||||||
public static <A, O extends A> @Nullable A[] addObjectToArray(A @Nullable [] array, @Nullable O obj, int position) {
|
public static <A, O extends A> A[] addObjectToArray(A @Nullable [] array, O obj, int position) {
|
||||||
Class<?> componentType = Object.class;
|
Class<?> componentType = Object.class;
|
||||||
if (array != null) {
|
if (array != null) {
|
||||||
componentType = array.getClass().componentType();
|
componentType = array.getClass().componentType();
|
||||||
}
|
}
|
||||||
|
// Defensive code for use cases not following the declared nullability
|
||||||
else if (obj != null) {
|
else if (obj != null) {
|
||||||
componentType = obj.getClass();
|
componentType = obj.getClass();
|
||||||
}
|
}
|
||||||
int newArrayLength = (array != null ? array.length + 1 : 1);
|
int newArrayLength = (array != null ? array.length + 1 : 1);
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
@Nullable A[] newArray = (A[]) Array.newInstance(componentType, newArrayLength);
|
A[] newArray = (A[]) Array.newInstance(componentType, newArrayLength);
|
||||||
if (array != null) {
|
if (array != null) {
|
||||||
System.arraycopy(array, 0, newArray, 0, position);
|
System.arraycopy(array, 0, newArray, 0, position);
|
||||||
System.arraycopy(array, position, newArray, position + 1, array.length - position);
|
System.arraycopy(array, position, newArray, position + 1, array.length - position);
|
||||||
|
|
|
||||||
|
|
@ -1413,7 +1413,7 @@ public class JdbcTemplate extends JdbcAccessor implements JdbcOperations {
|
||||||
* @return the RowMapper to use
|
* @return the RowMapper to use
|
||||||
* @see SingleColumnRowMapper
|
* @see SingleColumnRowMapper
|
||||||
*/
|
*/
|
||||||
protected <T> RowMapper<@Nullable T> getSingleColumnRowMapper(Class<T> requiredType) {
|
protected <T extends @Nullable Object> RowMapper<T> getSingleColumnRowMapper(Class<T> requiredType) {
|
||||||
return new SingleColumnRowMapper<>(requiredType);
|
return new SingleColumnRowMapper<>(requiredType);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue