1 Commits

Author SHA1 Message Date
Fabian Holzwarth
c10acc020e feat: thread result model code 2025-07-11 13:03:39 +02:00

View File

@@ -26,7 +26,7 @@ public class UnifyResultModel {
this.fc = fc;
}
private List<UnifyResultListener> listeners = new ArrayList<>();
private final List<UnifyResultListener> listeners = new ArrayList<>();
public void addUnifyResultListener(UnifyResultListener listenerToAdd) {
listeners.add(listenerToAdd);
@@ -36,7 +36,14 @@ public class UnifyResultModel {
listeners.remove(listenerToRemove);
}
private synchronized void announceResult(UnifyResultEvent event) {
for (UnifyResultListener listener : listeners) {
listener.onNewTypeResultFound(event);
}
}
public void notify(Set<Set<UnifyPair>> eqPrimePrimeSet, UnifyContext context) {
context.executor().execute(() -> {
Set<Set<UnifyPair>> eqPrimePrimeSetRet = eqPrimePrimeSet.stream().map(x -> {
Optional<Set<UnifyPair>> res = new RuleSet(context.placeholderRegistry()).subst(x.stream().map(y -> {
if (y.getPairOp() == PairOperator.SMALLERDOTWC) y.setPairOp(PairOperator.EQUALSDOT);
@@ -52,8 +59,7 @@ public class UnifyResultModel {
.collect(Collectors.toList());
UnifyResultEvent evt = new UnifyResultEvent(newResult);
for (UnifyResultListener listener : listeners) {
listener.onNewTypeResultFound(evt);
}
this.announceResult(evt);
});
}
}