package org.openlca.app.editors.parameters;
import java.util.ArrayList;
import java.util.List;
/**
* Allows communication between a parameter page (with sections) and other
* editor pages.
*/
public class ParameterChangeSupport {
private List<Runnable> evaluators = new ArrayList<>();
private List<Runnable> observers = new ArrayList<>();
public void onEvaluation(Runnable fn) {
if (fn != null)
evaluators.add(fn);
}
public void afterEvaluation(Runnable fn) {
if (fn != null)
observers.add(fn);
}
public void evaluate() {
for (Runnable evaluator : evaluators)
evaluator.run();
for (Runnable observer : observers)
observer.run();
}
}