JPP: Moved JObjectClass to a master cheese chef cook
All checks were successful
Run test asserts / Test-Asserts (push) Successful in 2m18s

This commit is contained in:
Willem Cazander 2026-02-17 20:37:32 +01:00
parent fc90187bcf
commit 1e5513ec52
4 changed files with 228 additions and 75 deletions

View file

@ -28,11 +28,10 @@
package ᒢᣘᐧᐧ.ᣕᓫᐪᑋᓫᣗ.ᐪᐤᣕᓫ;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import ᒢᣘᐧᐧ.ᑊᑉᣔᣔᔆ.KaasChef;
/// Nether tone slug view record.
///
/// @author للَّٰهِilLצسُو
@ -97,8 +96,8 @@ public record NetherToneSlugView(
public List<Class<?>> toNetherTones() {
List<Class<?>> result = new ArrayList<>(11);
for (int i = 0; i < 11; i++) {
Class<?> subClass = sortedPermittedSubclasses(NetherToneScript.class).get(i);
Class<?>[] valueClasses = sortedPermittedSubclasses(subClass).toArray(new Class[] {});
Class<?> subClass = KaasChef.that().cookPermittedSubclassesSortedNaturel(NetherToneScript.class).get(i);
Class<?>[] valueClasses = KaasChef.that().cookPermittedSubclassesSortedNaturel(subClass).toArray(new Class[] {});
result.add(switch (i) {
case 0: yield valueClasses[ag1];
case 1: yield valueClasses[ag2];
@ -116,21 +115,6 @@ public record NetherToneSlugView(
return result;
}
static private List<Class<?>> sortedPermittedSubclasses(Class<?> c) {
Class<?>[] valueArray = c.getPermittedSubclasses();
if (valueArray == null) {
return Collections.emptyList();
}
List<Class<?>> valueList = new ArrayList<>(Arrays.asList(valueArray));
valueList.sort(new Comparator<Class<?>>() {
@Override
public int compare(Class<?> o1, Class<?> o2) {
return o1.getSimpleName().compareTo(o2.getSimpleName());
}
});
return valueList;
}
static public NetherToneSlugView ofQSluq(Class<? extends NetherToneScript> q) {
return ofQSluq(q, true);
}
@ -138,9 +122,9 @@ public record NetherToneSlugView(
static public NetherToneSlugView ofQSluq(Class<? extends NetherToneScript> q, boolean failIncomplete) {
int[] d = new int[11];
int dataIdx = 0;
for (Class<?> subClass : sortedPermittedSubclasses(NetherToneScript.class)) {
for (Class<?> subClass : KaasChef.that().cookPermittedSubclassesSortedNaturel(NetherToneScript.class)) {
boolean hasValue = false;
Class<?>[] valueClasses = sortedPermittedSubclasses(subClass).toArray(new Class[] {});
Class<?>[] valueClasses = KaasChef.that().cookPermittedSubclassesSortedNaturel(subClass).toArray(new Class[] {});
for (int i = 0; i < valueClasses.length; i++) {
Class<?> valueClass = valueClasses[i];
if (valueClass.isAssignableFrom(q)) {