Implement Linkage for TowerRun

This commit is contained in:
2025-10-03 13:51:38 +02:00
parent d75c82dca5
commit 9dabcfc918
11 changed files with 50 additions and 24 deletions
@@ -27,6 +27,7 @@ import lombok.experimental.StandardException;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -100,9 +101,12 @@ public abstract class AbstractLinker<T> {
instances.forEach((clazz, o) -> {
for (Field field : clazz.getFields()) {
if (field.getAnnotation(LinkedInstance.class) != null) {
System.out.println("Setting " + field.getName() + " to " + instances.get(field.getType()));
try {
field.set(o, instances.get(field.getType()));
if (Modifier.isStatic(field.getModifiers())) {
field.set(null, instances.get(field.getType()));
} else {
field.set(o, instances.get(field.getType()));
}
} catch (IllegalAccessException e) {
throw new SecurityException(e.getMessage(), e);
}