Skip to content

Commit 8d30649

Browse files
committed
use Objects.requireNonNull in generated code for repositories
instead of directly throwing IllegalArgumentException
1 parent 02cf728 commit 8d30649

File tree

5 files changed

+14
-28
lines changed

5 files changed

+14
-28
lines changed

Diff for: tooling/metamodel-generator/src/main/java/org/hibernate/processor/annotation/AbstractAnnotatedMethod.java

+12
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
import static org.hibernate.processor.annotation.AnnotationMetaEntity.usingReactiveSessionAccess;
1818
import static org.hibernate.processor.annotation.AnnotationMetaEntity.usingStatelessSession;
1919
import static org.hibernate.processor.util.Constants.ENTITY_MANAGER;
20+
import static org.hibernate.processor.util.Constants.OBJECTS;
2021
import static org.hibernate.processor.util.TypeUtils.hasAnnotation;
2122

2223
/**
@@ -76,4 +77,15 @@ public List<AnnotationMirror> inheritedAnnotations() {
7677
return emptyList();
7778
}
7879
}
80+
81+
void nullCheck(StringBuilder declaration, String paramName) {
82+
declaration
83+
.append('\t')
84+
.append(annotationMetaEntity.staticImport(OBJECTS, "requireNonNull"))
85+
.append('(')
86+
.append(paramName.replace('.', '$'))
87+
.append(", \"Null ")
88+
.append(paramName)
89+
.append("\");\n");
90+
}
7991
}

Diff for: tooling/metamodel-generator/src/main/java/org/hibernate/processor/annotation/AbstractCriteriaMethod.java

-9
Original file line numberDiff line numberDiff line change
@@ -114,15 +114,6 @@ void nullChecks(List<String> paramTypes, StringBuilder declaration) {
114114
}
115115
}
116116

117-
private static void nullCheck(StringBuilder declaration, String paramName) {
118-
declaration
119-
.append("\tif (")
120-
.append(paramName.replace('.', '$'))
121-
.append(" == null) throw new IllegalArgumentException(\"Null ")
122-
.append(paramName)
123-
.append("\");\n");
124-
}
125-
126117
void where(StringBuilder declaration, List<String> paramTypes) {
127118
declaration
128119
.append("\t_query.where(");

Diff for: tooling/metamodel-generator/src/main/java/org/hibernate/processor/annotation/IdFinderMethod.java

-9
Original file line numberDiff line numberDiff line change
@@ -180,13 +180,4 @@ private void findWithNoFetchProfiles(StringBuilder declaration) {
180180
declaration
181181
.append(")");
182182
}
183-
184-
private static void nullCheck(StringBuilder declaration, String parameterName) {
185-
declaration
186-
.append("\tif (")
187-
.append(parameterName)
188-
.append(" == null) throw new IllegalArgumentException(\"Null ")
189-
.append(parameterName)
190-
.append("\");\n");
191-
}
192183
}

Diff for: tooling/metamodel-generator/src/main/java/org/hibernate/processor/annotation/LifecycleMethod.java

+1-10
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ public boolean hasStringAttribute() {
5656
public String getAttributeDeclarationString() {
5757
StringBuilder declaration = new StringBuilder();
5858
preamble(declaration);
59-
nullCheck(declaration);
59+
nullCheck(declaration, parameterName);
6060
declaration.append("\ttry {\n");
6161
delegateCall(declaration);
6262
returnArgument(declaration);
@@ -194,15 +194,6 @@ private String returnType() {
194194
}
195195
}
196196

197-
private void nullCheck(StringBuilder declaration) {
198-
declaration
199-
.append("\tif (")
200-
.append(parameterName)
201-
.append(" == null) throw new IllegalArgumentException(\"Null ")
202-
.append(parameterName)
203-
.append("\");\n");
204-
}
205-
206197
private void convertException(StringBuilder declaration, String exception, String convertedException) {
207198
declaration
208199
.append("\tcatch (")

Diff for: tooling/metamodel-generator/src/main/java/org/hibernate/processor/util/Constants.java

+1
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,7 @@ public final class Constants {
123123
public static final String MAP_ATTRIBUTE = "jakarta.persistence.metamodel.MapAttribute";
124124

125125
public static final String JAVA_OBJECT = "java.lang.Object";
126+
public static final String OBJECTS = "java.util.Objects";
126127
public static final String ITERABLE = "java.lang.Iterable";
127128
public static final String COLLECTION = "java.util.Collection";
128129
public static final String LIST = "java.util.List";

0 commit comments

Comments
 (0)