@@ -207,31 +207,33 @@ private Results<R> createResults(
207207boolean isEntityResultType ,
208208JavaType <R > domainResultJavaType ,
209209int initialCollectionSize ) {
210- if ( isEntityResultType
211- && ( uniqueSemantic == UniqueSemantic .ALLOW || uniqueSemantic == UniqueSemantic .FILTER ) ) {
212- return new EntityResult <>( domainResultJavaType , initialCollectionSize );
213- }
214- else {
215- return new Results <>( domainResultJavaType , initialCollectionSize );
216- }
210+ return isEntityResultType && isAllowOrFilter ()
211+ ? new EntityResult <>( domainResultJavaType , initialCollectionSize )
212+ : new Results <>( domainResultJavaType , initialCollectionSize );
213+ }
214+
215+ private boolean isAllowOrFilter () {
216+ return uniqueSemantic == UniqueSemantic .ALLOW
217+ || uniqueSemantic == UniqueSemantic .FILTER ;
217218}
218219
219220private int readRows (
220221RowProcessingStateStandardImpl rowProcessingState ,
221222RowReader <R > rowReader ,
222223boolean isEntityResultType ,
223224Results <R > results ) {
224- if ( uniqueSemantic == UniqueSemantic .FILTER
225- || uniqueSemantic == UniqueSemantic .ASSERT && rowReader .hasCollectionInitializers ()
226- || uniqueSemantic == UniqueSemantic .ALLOW && isEntityResultType ) {
227- return readUnique ( rowProcessingState , rowReader , results );
228- }
229- else if ( uniqueSemantic == UniqueSemantic .ASSERT ) {
230- return readUniqueAssert ( rowProcessingState , rowReader , results );
231- }
232- else {
233- return read ( rowProcessingState , rowReader , results );
234- }
225+ return switch ( uniqueSemantic ) {
226+ case FILTER ->
227+ readUnique ( rowProcessingState , rowReader , results );
228+ case ASSERT -> rowReader .hasCollectionInitializers ()
229+ ? readUnique ( rowProcessingState , rowReader , results )
230+ : readUniqueAssert ( rowProcessingState , rowReader , results );
231+ case ALLOW -> isEntityResultType
232+ ? readUnique ( rowProcessingState , rowReader , results )
233+ : read ( rowProcessingState , rowReader , results );
234+ case NONE , NEVER ->
235+ read ( rowProcessingState , rowReader , results );
236+ };
235237}
236238
237239private static <R > int read (
0 commit comments