Skip to content

Commit 6a1c21b

Browse files
committed
tiny refactor to NullPrecedence stuff
1 parent a7919fa commit 6a1c21b

File tree

2 files changed

+17
-49
lines changed

2 files changed

+17
-49
lines changed

hibernate-core/src/main/java/org/hibernate/query/NullPrecedence.java

Lines changed: 2 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import org.hibernate.dialect.NullOrdering;
88

99
import jakarta.persistence.criteria.Nulls;
10+
import org.hibernate.query.internal.NullPrecedenceHelper;
1011

1112
/**
1213
* Enumerates the possibilities for the precedence of null values within
@@ -38,21 +39,7 @@ public enum NullPrecedence {
3839
*/
3940
@Deprecated(since = "7.0", forRemoval = true)
4041
public boolean isDefaultOrdering(SortDirection sortOrder, NullOrdering nullOrdering) {
41-
return switch (this) {
42-
case NONE -> true;
43-
case FIRST -> switch (nullOrdering) {
44-
case FIRST -> true;
45-
case LAST -> false;
46-
case SMALLEST -> sortOrder == SortDirection.ASCENDING;
47-
case GREATEST -> sortOrder == SortDirection.DESCENDING;
48-
};
49-
case LAST -> switch (nullOrdering) {
50-
case LAST -> true;
51-
case FIRST -> false;
52-
case SMALLEST -> sortOrder == SortDirection.DESCENDING;
53-
case GREATEST -> sortOrder == SortDirection.ASCENDING;
54-
};
55-
};
42+
return NullPrecedenceHelper.isDefaultOrdering( getJpaValue(), sortOrder, nullOrdering );
5643
}
5744

5845
/**
@@ -99,6 +86,5 @@ public static NullPrecedence fromJpaValue(Nulls jpaValue) {
9986
case FIRST -> NullPrecedence.FIRST;
10087
case LAST -> NullPrecedence.LAST;
10188
};
102-
10389
}
10490
}

hibernate-core/src/main/java/org/hibernate/query/internal/NullPrecedenceHelper.java

Lines changed: 15 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
*/
55
package org.hibernate.query.internal;
66

7-
import org.hibernate.AssertionFailure;
87
import org.hibernate.dialect.NullOrdering;
98
import org.hibernate.query.SortDirection;
109

@@ -22,38 +21,21 @@ public static boolean isDefaultOrdering(
2221
Nulls precedence,
2322
SortDirection sortOrder,
2423
NullOrdering nullOrdering) {
25-
switch (precedence) {
26-
case NONE:
27-
return true;
28-
case FIRST:
29-
switch ( nullOrdering ) {
30-
case FIRST:
31-
return true;
32-
case LAST:
33-
return false;
34-
case SMALLEST:
35-
return sortOrder == SortDirection.ASCENDING;
36-
case GREATEST:
37-
return sortOrder == SortDirection.DESCENDING;
38-
default:
39-
throw new AssertionFailure( "Unrecognized NullOrdering");
40-
}
41-
case LAST:
42-
switch ( nullOrdering ) {
43-
case LAST:
44-
return true;
45-
case FIRST:
46-
return false;
47-
case SMALLEST:
48-
return sortOrder == SortDirection.DESCENDING;
49-
case GREATEST:
50-
return sortOrder == SortDirection.ASCENDING;
51-
default:
52-
throw new AssertionFailure("Unrecognized NullOrdering");
53-
}
54-
default:
55-
throw new AssertionFailure("Unrecognized NullPrecedence");
56-
}
24+
return switch ( precedence ) {
25+
case NONE -> true;
26+
case FIRST -> switch ( nullOrdering ) {
27+
case FIRST -> true;
28+
case LAST -> false;
29+
case SMALLEST -> sortOrder == SortDirection.ASCENDING;
30+
case GREATEST -> sortOrder == SortDirection.DESCENDING;
31+
};
32+
case LAST -> switch ( nullOrdering ) {
33+
case LAST -> true;
34+
case FIRST -> false;
35+
case SMALLEST -> sortOrder == SortDirection.DESCENDING;
36+
case GREATEST -> sortOrder == SortDirection.ASCENDING;
37+
};
38+
};
5739
}
5840

5941
/**

0 commit comments

Comments
 (0)