Skip to content

Commit b843c97

Browse files
committed
modernize StandardOptimizerDescriptor
and make fromExternalName() case-insensitive
1 parent e04e8cc commit b843c97

File tree

1 file changed

+22
-45
lines changed

1 file changed

+22
-45
lines changed

hibernate-core/src/main/java/org/hibernate/id/enhanced/StandardOptimizerDescriptor.java

Lines changed: 22 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,6 @@
44
*/
55
package org.hibernate.id.enhanced;
66

7-
import org.hibernate.AssertionFailure;
8-
97
import static org.hibernate.internal.util.StringHelper.isEmpty;
108

119
/**
@@ -46,55 +44,34 @@ public enum StandardOptimizerDescriptor implements OptimizerDescriptor {
4644

4745
@Override
4846
public String getExternalName() {
49-
switch ( this ) {
50-
case NONE:
51-
return "none";
52-
case HILO:
53-
return "hilo";
54-
case LEGACY_HILO:
55-
return "legacy-hilo";
56-
case POOLED:
57-
return "pooled";
58-
case POOLED_LO:
59-
return "pooled-lo";
60-
case POOLED_LOTL:
61-
return "pooled-lotl";
62-
}
63-
throw new AssertionFailure( "unknown StandardOptimizerDescriptor" );
47+
return switch ( this ) {
48+
case NONE -> "none";
49+
case HILO -> "hilo";
50+
case LEGACY_HILO -> "legacy-hilo";
51+
case POOLED -> "pooled";
52+
case POOLED_LO -> "pooled-lo";
53+
case POOLED_LOTL -> "pooled-lotl";
54+
};
6455
}
6556

6657
@Override
6758
public Class<? extends Optimizer> getOptimizerClass() {
68-
switch ( this ) {
69-
case NONE:
70-
return NoopOptimizer.class;
71-
case HILO:
72-
return HiLoOptimizer.class;
73-
case LEGACY_HILO:
74-
return LegacyHiLoAlgorithmOptimizer.class;
75-
case POOLED:
76-
return PooledOptimizer.class;
77-
case POOLED_LO:
78-
return PooledLoOptimizer.class;
79-
case POOLED_LOTL:
80-
return PooledLoThreadLocalOptimizer.class;
81-
}
82-
throw new AssertionFailure( "unknown StandardOptimizerDescriptor" );
59+
return switch ( this ) {
60+
case NONE -> NoopOptimizer.class;
61+
case HILO -> HiLoOptimizer.class;
62+
case LEGACY_HILO -> LegacyHiLoAlgorithmOptimizer.class;
63+
case POOLED -> PooledOptimizer.class;
64+
case POOLED_LO -> PooledLoOptimizer.class;
65+
case POOLED_LOTL -> PooledLoThreadLocalOptimizer.class;
66+
};
8367
}
8468

8569
@Override
8670
public boolean isPooled() {
87-
switch ( this ) {
88-
case NONE:
89-
case HILO:
90-
case LEGACY_HILO:
91-
return false;
92-
case POOLED:
93-
case POOLED_LO:
94-
case POOLED_LOTL:
95-
return true;
96-
}
97-
throw new AssertionFailure( "unknown StandardOptimizerDescriptor" );
71+
return switch ( this ) {
72+
case NONE, HILO, LEGACY_HILO -> false;
73+
case POOLED, POOLED_LO, POOLED_LOTL -> true;
74+
};
9875
}
9976

10077
/**
@@ -111,8 +88,8 @@ public static OptimizerDescriptor fromExternalName(String externalName) {
11188
return NONE;
11289
}
11390
else {
114-
for ( StandardOptimizerDescriptor value: values() ) {
115-
if ( value.getExternalName().equals( externalName ) ) {
91+
for ( var value: values() ) {
92+
if ( value.getExternalName().equalsIgnoreCase( externalName ) ) {
11693
return value;
11794
}
11895
}

0 commit comments

Comments
 (0)